diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
index 91caf4645..ce044af7d 100644
--- a/.github/workflows/deploy.yaml
+++ b/.github/workflows/deploy.yaml
@@ -6,29 +6,45 @@ on:
- main
workflow_dispatch:
-env:
- GITHUB_REPOSITORY: ${{ github.repository }}
+permissions:
+ contents: read
+ pages: write
+ id-token: write
-jobs:
- deploy-gh-pages:
- permissions:
- pages: write
- id-token: write
- contents: write
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+jobs:
+ build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
- node-version: '22'
- - run: npm ci
- - run: npm run build:spec
- - run: npm run build:docs
- - name: Deploy to GitHub Pages
- uses: peaceiris/actions-gh-pages@v4
+ node-version: "22"
+ cache: npm
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Build docs
+ run: npm run build:docs
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: build/docs/gatsby/public
- commit_message: "Deploy to GitHub Pages"
+ path: build
+
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 49ad05fe0..79b9c9092 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,5 @@ data.json
schema.json
*.dic
.idea/
+.docusaurus/
+.DS_Store
\ No newline at end of file
diff --git a/docs-api/api/index.md b/docs-api/api/index.md
new file mode 100644
index 000000000..1bc310ffc
--- /dev/null
+++ b/docs-api/api/index.md
@@ -0,0 +1,81 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "Ethereum JSON-RPC Specification"
+description: "A specification of the standard interface for Ethereum clients."
+
+---
+
+# Ethereum JSON-RPC Specification
+
+Version: `0.0.0`
+
+A specification of the standard interface for Ethereum clients.
+
+
+## Methods
+
+- [`debug_getBadBlocks`](./methods/debug_getBadBlocks.mdx)
+- [`debug_getRawBlock`](./methods/debug_getRawBlock.mdx)
+- [`debug_getRawHeader`](./methods/debug_getRawHeader.mdx)
+- [`debug_getRawReceipts`](./methods/debug_getRawReceipts.mdx)
+- [`debug_getRawTransaction`](./methods/debug_getRawTransaction.mdx)
+- [`engine_exchangeCapabilities`](./methods/engine_exchangeCapabilities.mdx)
+- [`engine_exchangeTransitionConfigurationV1`](./methods/engine_exchangeTransitionConfigurationV1.mdx)
+- [`engine_forkchoiceUpdatedV1`](./methods/engine_forkchoiceUpdatedV1.mdx)
+- [`engine_forkchoiceUpdatedV2`](./methods/engine_forkchoiceUpdatedV2.mdx)
+- [`engine_forkchoiceUpdatedV3`](./methods/engine_forkchoiceUpdatedV3.mdx)
+- [`engine_getBlobsV1`](./methods/engine_getBlobsV1.mdx)
+- [`engine_getBlobsV2`](./methods/engine_getBlobsV2.mdx)
+- [`engine_getPayloadBodiesByHashV1`](./methods/engine_getPayloadBodiesByHashV1.mdx)
+- [`engine_getPayloadBodiesByRangeV1`](./methods/engine_getPayloadBodiesByRangeV1.mdx)
+- [`engine_getPayloadV1`](./methods/engine_getPayloadV1.mdx)
+- [`engine_getPayloadV2`](./methods/engine_getPayloadV2.mdx)
+- [`engine_getPayloadV3`](./methods/engine_getPayloadV3.mdx)
+- [`engine_getPayloadV4`](./methods/engine_getPayloadV4.mdx)
+- [`engine_getPayloadV5`](./methods/engine_getPayloadV5.mdx)
+- [`engine_getPayloadV6`](./methods/engine_getPayloadV6.mdx)
+- [`engine_newPayloadV1`](./methods/engine_newPayloadV1.mdx)
+- [`engine_newPayloadV2`](./methods/engine_newPayloadV2.mdx)
+- [`engine_newPayloadV3`](./methods/engine_newPayloadV3.mdx)
+- [`engine_newPayloadV4`](./methods/engine_newPayloadV4.mdx)
+- [`engine_newPayloadV5`](./methods/engine_newPayloadV5.mdx)
+- [`eth_accounts`](./methods/eth_accounts.mdx)
+- [`eth_blobBaseFee`](./methods/eth_blobBaseFee.mdx)
+- [`eth_blockNumber`](./methods/eth_blockNumber.mdx)
+- [`eth_call`](./methods/eth_call.mdx)
+- [`eth_chainId`](./methods/eth_chainId.mdx)
+- [`eth_coinbase`](./methods/eth_coinbase.mdx)
+- [`eth_createAccessList`](./methods/eth_createAccessList.mdx)
+- [`eth_estimateGas`](./methods/eth_estimateGas.mdx)
+- [`eth_feeHistory`](./methods/eth_feeHistory.mdx)
+- [`eth_gasPrice`](./methods/eth_gasPrice.mdx)
+- [`eth_getBalance`](./methods/eth_getBalance.mdx)
+- [`eth_getBlockByHash`](./methods/eth_getBlockByHash.mdx)
+- [`eth_getBlockByNumber`](./methods/eth_getBlockByNumber.mdx)
+- [`eth_getBlockReceipts`](./methods/eth_getBlockReceipts.mdx)
+- [`eth_getBlockTransactionCountByHash`](./methods/eth_getBlockTransactionCountByHash.mdx)
+- [`eth_getBlockTransactionCountByNumber`](./methods/eth_getBlockTransactionCountByNumber.mdx)
+- [`eth_getCode`](./methods/eth_getCode.mdx)
+- [`eth_getFilterChanges`](./methods/eth_getFilterChanges.mdx)
+- [`eth_getFilterLogs`](./methods/eth_getFilterLogs.mdx)
+- [`eth_getLogs`](./methods/eth_getLogs.mdx)
+- [`eth_getProof`](./methods/eth_getProof.mdx)
+- [`eth_getStorageAt`](./methods/eth_getStorageAt.mdx)
+- [`eth_getTransactionByBlockHashAndIndex`](./methods/eth_getTransactionByBlockHashAndIndex.mdx)
+- [`eth_getTransactionByBlockNumberAndIndex`](./methods/eth_getTransactionByBlockNumberAndIndex.mdx)
+- [`eth_getTransactionByHash`](./methods/eth_getTransactionByHash.mdx)
+- [`eth_getTransactionCount`](./methods/eth_getTransactionCount.mdx)
+- [`eth_getTransactionReceipt`](./methods/eth_getTransactionReceipt.mdx)
+- [`eth_getUncleCountByBlockHash`](./methods/eth_getUncleCountByBlockHash.mdx)
+- [`eth_getUncleCountByBlockNumber`](./methods/eth_getUncleCountByBlockNumber.mdx)
+- [`eth_maxPriorityFeePerGas`](./methods/eth_maxPriorityFeePerGas.mdx)
+- [`eth_newBlockFilter`](./methods/eth_newBlockFilter.mdx)
+- [`eth_newFilter`](./methods/eth_newFilter.mdx)
+- [`eth_newPendingTransactionFilter`](./methods/eth_newPendingTransactionFilter.mdx)
+- [`eth_sendRawTransaction`](./methods/eth_sendRawTransaction.mdx)
+- [`eth_sendTransaction`](./methods/eth_sendTransaction.mdx)
+- [`eth_sign`](./methods/eth_sign.mdx)
+- [`eth_signTransaction`](./methods/eth_signTransaction.mdx)
+- [`eth_simulateV1`](./methods/eth_simulateV1.mdx)
+- [`eth_syncing`](./methods/eth_syncing.mdx)
+- [`eth_uninstallFilter`](./methods/eth_uninstallFilter.mdx)
diff --git a/docs-api/api/methods/debug_getBadBlocks.mdx b/docs-api/api/methods/debug_getBadBlocks.mdx
new file mode 100644
index 000000000..cfe901728
--- /dev/null
+++ b/docs-api/api/methods/debug_getBadBlocks.mdx
@@ -0,0 +1,1456 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "debug_getBadBlocks"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # debug\_getBadBlocks
+
+
+
+ Returns an array of recent bad blocks that the client has seen on the network.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Blocks** `array
`
+
+ Bad block
+
+ ***
+
+
+
+
+ Show `Blocks` object
+
+
+ #### `Blocks` fields
+
+ * **block** `object` *required*
+
+ Block
+
+ ***
+
+
+
+
+ Show `block` object
+
+
+ #### `block` fields
+
+ * **hash** `string` *required*
+
+ Hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **sha3Uncles** `string` *required*
+
+ Ommers hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **miner** `string` *required*
+
+ Coinbase
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionsRoot** `string` *required*
+
+ Transactions root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **difficulty** `string`
+
+ Difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **number** `string` *required*
+
+ Number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **mixHash** `string` *required*
+
+ Mix hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ Nonce
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **withdrawalsRoot** `string`
+
+ Withdrawals root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **parentBeaconBlockRoot** `string`
+
+ Parent Beacon Block Root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **size** `string` *required*
+
+ Block size
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **transactions** `array
or array` *required*
+
+ ***
+
+
+
+ Show Option 1 `Transaction hashes` array
+
+
+ #### `Transaction hashes` fields
+
+ **transactions** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Full transactions` array
+
+
+ #### `Full transactions` fields
+
+
+ **transactions** `object or object or object or object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ * **withdrawals** `array`
+
+ Validator withdrawal
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ index of withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ index of validator that generated withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ recipient address for withdrawal value
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ value contained in withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **uncles** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **requestsHash** `string`
+
+ EIP-7685 requests hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **hash** `string` *required*
+
+ Hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **rlp** `string` *required*
+
+ RLP
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ debug\_getBadBlocks example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "block": {
+ "number": "0xd",
+ "hash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "parentHash": "0x544a2f7a4c8defc0d8da44aa0c0db7c36b56db2605c01ed266e919e936579d31",
+ "nonce": "0x0000000000000000",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "transactionsRoot": "0x02c387e001cbe2a8296bfa2e18afbc3480d0e49588b05556148b0bf7c17dec41",
+ "stateRoot": "0x861ab7e868e3c23f84b7c4ed86b52a6a4f063633bc45ef29212c33459df84ea5",
+ "receiptsRoot": "0xccd2d33763dc0ac3fe02d4ecbbcd7d2bdc6f57db635ba31007184679303721d7",
+ "miner": "0x0000000000000000000000000000000000000000",
+ "difficulty": "0x1",
+ "extraData": "0x00000000000000000000000000000000000000000000000000000000000000008c6a091f07e4ba3930f2f5fabbfc5b1c70986319096760ba200a6abc0d30e33c2d501702d1b58d7f75807bdbf981044557628611319121170b96466ec06bb3fd01",
+ "size": "0x3a0",
+ "gasLimit": "0xffffffffffff",
+ "gasUsed": "0x1a488",
+ "timestamp": "0x5f5b6824",
+ "uncles": [],
+ "transactions": [
+ {
+ "blockHash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "blockNumber": "0xd",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x1a49e",
+ "gasPrice": "0x3e8",
+ "hash": "0xdd8cf045113754c306ba9ac8ac8786235e33bc5c087678084ef260a2a583f127",
+ "input": "0x608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033",
+ "nonce": "0x0",
+ "to": null,
+ "transactionIndex": "0x0",
+ "value": "0x0",
+ "v": "0xf9d",
+ "r": "0xa7a15050302ca4b7d3842d35cdd3cbf25b2c48c0c37f96d78beb6a6a6bc4f1c7",
+ "s": "0x130d29294b2b6a2b7e89f501eb27772f7abf37bfa28a1ce300daade975589fca"
+ }
+ ]
+ },
+ "hash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "rlp": "0xf9039df9025ca0544a2f7a4c8defc0d8da44aa0c0db7c36b56db2605c01ed266e919e936579d31a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0861ab7e868e3c23f84b7c4ed86b52a6a4f063633bc45ef29212c33459df84ea5a002c387e001cbe2a8296bfa2e18afbc3480d0e49588b05556148b0bf7c17dec41a0ccd2d33763dc0ac3fe02d4ecbbcd7d2bdc6f57db635ba31007184679303721d7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d86ffffffffffff8301a488845f5b6824b86100000000000000000000000000000000000000000000000000000000000000008c6a091f07e4ba3930f2f5fabbfc5b1c70986319096760ba200a6abc0d30e33c2d501702d1b58d7f75807bdbf981044557628611319121170b96466ec06bb3fd01a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9013af90137808203e88301a49e8080b8e6608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033820f9da0a7a15050302ca4b7d3842d35cdd3cbf25b2c48c0c37f96d78beb6a6a6bc4f1c7a0130d29294b2b6a2b7e89f501eb27772f7abf37bfa28a1ce300daade975589fcac0"
+ },
+ {
+ "block": {
+ "number": "0x8",
+ "hash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "parentHash": "0x98ae440cd7b904d842daa6c263608969a3c8ce6a9acd6bd1f99b394f5f28a207",
+ "nonce": "0x0000000000000000",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "transactionsRoot": "0x8ee998cc699a1f9310a1079458780b3ebee8756f96a0905f5224b89d0eb17486",
+ "stateRoot": "0x140a9783291704223eb759e3a0db5471a520d349fc17ac2f77ff8582472e3bac",
+ "receiptsRoot": "0x2b5c77f6e7764d2468178fab7253346b9b8bb6a34b63946f6bdc2f5ad398bfc3",
+ "miner": "0x0000000000000000000000000000000000000000",
+ "difficulty": "0x2",
+ "extraData": "0x00000000000000000000000000000000000000000000000000000000000000004d04551bdd9ae08af1fd661e49d4ab662c98c532c7ec0e4656a27e4de7d330af578ab1e4f5e49e085ff1d78673c7388ed9ccf017fbe89e53066bfa4018142c0701",
+ "size": "0x3a0",
+ "gasLimit": "0xffffffffffff",
+ "gasUsed": "0x1a4c9",
+ "timestamp": "0x5f5b6b80",
+ "uncles": [],
+ "transactions": [
+ {
+ "blockHash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "blockNumber": "0x8",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x1a4c9",
+ "gasPrice": "0x3e8",
+ "hash": "0x675e336a4281b29c619dfd4ccfbd2f930f3728b20caf9e0067284aa3224e6758",
+ "input": "0x608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033",
+ "nonce": "0x0",
+ "to": null,
+ "transactionIndex": "0x0",
+ "value": "0x0",
+ "v": "0xf9d",
+ "r": "0x2e30624c0305e64812e1d9e325ba6e50410314634b008edcb50f45be71fa0d4",
+ "s": "0x50e205faed23c219ba15610de2451d458cbd4221207b2168344cfc972a7973c0"
+ }
+ ]
+ },
+ "hash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "rlp": "0xf9039df9025ca098ae440cd7b904d842daa6c263608969a3c8ce6a9acd6bd1f99b394f5f28a207a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0140a9783291704223eb759e3a0db5471a520d349fc17ac2f77ff8582472e3baca08ee998cc699a1f9310a1079458780b3ebee8756f96a0905f5224b89d0eb17486a02b5c77f6e7764d2468178fab7253346b9b8bb6a34b63946f6bdc2f5ad398bfc3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020886ffffffffffff8301a4c9845f5b6b80b86100000000000000000000000000000000000000000000000000000000000000004d04551bdd9ae08af1fd661e49d4ab662c98c532c7ec0e4656a27e4de7d330af578ab1e4f5e49e085ff1d78673c7388ed9ccf017fbe89e53066bfa4018142c0701a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9013af90137808203e88301a4c98080b8e6608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033820f9da002e30624c0305e64812e1d9e325ba6e50410314634b008edcb50f45be71fa0d4a050e205faed23c219ba15610de2451d458cbd4221207b2168344cfc972a7973c0c0"
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/debug_getRawBlock.mdx b/docs-api/api/methods/debug_getRawBlock.mdx
new file mode 100644
index 000000000..a6f6ecb88
--- /dev/null
+++ b/docs-api/api/methods/debug_getRawBlock.mdx
@@ -0,0 +1,118 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "debug_getRawBlock"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # debug\_getRawBlock
+
+
+
+ Returns an RLP-encoded block.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Block RLP** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ debug\_getRawBlock example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x32026E"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xf96096f90236a09f73691f6dabca4f0a99b05d0a701995506aa311dcaa9ce9833d6f4ca474c162a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794c6e2459991bfe27cca6d86722f35da23a1e4cb97a078103ea8c47231886481d72ec1afae6eeb06c3773ce24a91323d5c9eed69d4cca0008992da2531db404f07b0871dd620a94ba346963e1b1c6dc7b00748e8593a1ea0b6c3890d9604434fc52f722848c84d1770add20cd75bbc28cdedff42940dbb56b90100200800000400000002000e0000000401000000440100000000c0400600000002000801000000040480020840048000000000400000000000000020004220000011002000000000000204000800000010010002000002000000000040a000000000000400020000010885000000000808000000008800001004002010020300005000000010002110410402000000000000000890000008000000000000000000020040000002000000000000810400000040006000004000004080020000000000000022001000000000000840400000000220250000000000080402000420000418000000000000000400040000004080040010200000000000108020020000808332026e8401c9c380833e3c3c846436f93899d883010b05846765746888676f312e32302e32856c696e7578a0112d8f15793e7df7f8dcdb21c891cff78c0d1839cb5b6dcd06116cdbb99536ae88000000000000000008a0cdb97712af6685bb9650d21d609525913293c48adda7c45990926daada335c9bf95c56f8ac82d51f8502540be4008303c9e294a68d4c1e3de1b721ad1356bbf827d6bc8cef304f80b844b1bb4d351300dbc7e12342566318001b83aefc9f20080000f3ef25472407fe9c9c69a1470000000242692bb4cd506c409651ab80eb3acfa54551d3dbc9af4493605d79871ba01e474fb147b16b9538d7a59a57738e406158d9cc306a9062b1b7a9f544c35abfa061aabb714c760f2243a16a024811679d402c8822e8b25dfd0038d84298fb5205b87502f87283aa36a754849502f900849502f9108302222794102554afa6b5dbccc86176faef2b2d854201756e8084e2bc7b43c001a04f2398f24bc950db1f5439de3cf6431ea277236595ae8dc5815c0cc671c9f97ca029898786a59c56f086fc0f7a16859f366cf46084add999fe137cbf43693712e8b87c02f87983aa36a7830293748459682f00850165a0bc008255f094fafb56bb5b37c3b0b0ee9d7c31f018aac91dfb778806f05b59d3b2000080c080a0b069dd8967533a773e592c26b1b36df0793d0b9f6eceba34da246f602c2fae58a002009dab32ab63a25b705d9a00e311f7cd5d85e73f9b2c03ffd0e5135c0bb2c6b89502f89283aa36a7018459682f008459682f0983011fec945b9fedd37f0b92e7e282b19cebcf06f57b77c60480a46a62784200000000000000000000000019a1fcc6fcc5832cd2db7704d75efbc800f5a742c001a0c65eb0e48090a8f8830de47f430b9ad11071a62a5db9555619a990d7e9b81738a05a6e826610a5b2ee529a22942ebcd3abd2a8a10228098c8158380e8fcceb962fb9028002f9027c83aa36a7178459682f008459682f0983017ac9942ab7c0ab9ab47fcf370d13058bfee28f2ec0940c880169964394fc8860b9020496e17852000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000000000000000000000000000000000000000028c5c0000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f16827000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000650cb3772886000000000000000000000000000000000000000000000000000000000000222e000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a004f8666c8e5d0f3c7110994f624d24aa47a1327814289698c3e2777284a5cfdca04ff05f1b8c5beb58972d40e5a7b894d5e28ad2f15a3429c7d2bee6b6a9633730b9019f02f9019b83aa36a70b8459682f008459682f098303644f944284890d4acd0bcb017ece481b96fd4cb457cac88715c0f4db6e0ea0b90124ee1490b20000000000000000000000000000000000000000000000000000000000028c5c0000000000000000000000007847f2e0262512206333ffb200f6d9df2da319d40000000000000000000000001e8c104d068f22d351859cdbfe41a697a98e6ea20000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000222e00000000000000000000000000000000000000000000000000015c0f4db6e0ea00000000000000000000000007847f2e0262512206333ffb200f6d9df2da319d400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000c080a0e5270f6291acc162885656bedf64fbcb904c41951221dc0cbbbdca03bb33ce43a01f08c7ed3c231403b55f37a157d80e121b653baa810add8c02aea722631450dcb87c02f87983aa36a7830293758459682f00850165a0bc008255f0948d247f4fbbe81429d3d164a5c9ae0063210edbdc8806f05b59d3b2000080c080a0bb83dd6181c9a7ae3069af3bdf1820b5e556eaf99e385b8d7b3571321fb2966ba02ac193773704524adcd02824796df83407a42cdd81e786b591eba43c4ffc6c40b9028002f9027c83aa36a7048459682f008459682f0983017ac9942ab7c0ab9ab47fcf370d13058bfee28f2ec0940c880169964394fc8860b9020496e178520000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac6790000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000000000000000000000000000000000000000028c5c00000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac67900000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac67900000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac679000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000650cb3772886000000000000000000000000000000000000000000000000000000000000222e000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0fc882968005f717a74a2c2fb345f691091cab084f4bd3934358741807bd5a66ea03f81c68d05d06bf851a6ef5ea6874557a221cbadde24f3fa51f777699b5d2804b8d802f8d583aa36a7822c0b8459682f008459682f098303534f943367dfa11e3148a07c2da773e1f65b155b0abe5680b864ad58bdd100000000000000000000000053844f9577c2334e541aec7df7174ece5df1fcf0000000000000000000000000e9e12c660e77a732940bab3c2cf385c843b834b800000000000000000000000000000000000000000006015d637c177581800000c001a0a292e7723d3c950aa8a557bd91dece34ec527d9efe2cc413d582dcd9fc6bf6eba03386ce6f58e862f329946bf32897f7df5d1c8f818fecfafc1223052fb251d97eb8b602f8b383aa36a7138459682f008459682f09832dc6c094ba175fdab00e7fcf603f43be8f68db7f4de9f3a980b844095ea7b300000000000000000000000084a0cc1ab353da6b7817947f7b116b8ea982c3d20000000000000000000000000000000000000000000000068f365aea1e440000c001a0968ed0274829918071d9cef28e1adbf1fd15ec76e5a4f809971e887b4c9f34b6a001ce26485bc7e3ea71fb99866bd43002b264b2ed80e10850203c2f07b78856bdb87c02f87983aa36a7830293768459682f00850165a0bc008255f0946d3b93db4e4078cf6541a68532d00705d9a4da618806f05b59d3b2000080c080a083c831630788e7ee57c87128d18582e29aa51f1f233e91d916c06d0750578156a0549b5a00477f3fb4d8fbf95ba3a636c3a14ff011c1bbf3a717e00d61735cbf34b87c02f87983aa36a7830293778459682f00850165a0bc008255f0940d3a7d69859a0dd6971d39703b15379e05ae2ec48806f05b59d3b2000080c001a0082660b5db2d3a8a58c0b863673ab27f7cfe4c049dcc52c76a00ab45b0358db5a05a7519a2d399cb534480383ac21262fbde2dd85241495d7832dee8bb02c49c87b87c02f87983aa36a7830293788459682f00850165a0bc008255f0941be13f64a2463fc7a76b4092c53328cc965a77fb8806f05b59d3b2000080c001a0e6ee9b85c3b729518524fdaeb25d47f89f6fc6c4d2c4df707187bef74d73f958a0756bbf4ab119805b77466957b5895c1d5bf422c5f65d8a06f7efd37dcb2c87afb87c02f87983aa36a7830293798459682f00850165a0bc008255f094a90b28fd6f8e46ac668fcb688414184a163e2cd28806f05b59d3b2000080c080a0d394dd43c58591e5dda8a7f3a2f4eae1bfd65655b9e9eec5facc6dcb39aa77baa002eeabf3fe9c0a56eae476d2f6452ea72e63a9c9b1180290b792883258f939f5b8f802f8f583aa36a7830283818459682f008459682f1082962494d0f723c6b2226df56fe41e63b9eaa66eb540bcb880b884abac047b000000000000000000000000000000000000000000000000000000000103e9f0f3471dc445d8f209ef546e0d20eaccc12ed0a5b4100007f57d9bc8638dacaf6480000000000000000000000000000000000000000000000000000000001d209b1ea11d77d1ab457eb3e2954cb2b98e77b5b07e2a4f48507af0adc61329ddc210c001a0efa10ab60f3bd1e7c4a8d52a275a568fbe2f5edc9e1eaf386299577ff9ddbd6ba06e62cf2f66b58f655ddd3eae47ce40408445b086f6ea858edb7bd847ee206207f86f82e6e582014482f618949ebf6b12e7e33b8672788e7b2b3330356f6f2c41880de0b6b3a7640000808401546d72a008d6be7aa21be0a43e08e960620f4c40c44010a743ead9919ef9423863c08b12a06a63a7caae4504ee5528e50387ca09974f7124035328a62d1085da2fee6618f9f86f82e1c382014482f618949c68eb31c4d00b94c3e3d4c2887946f8b076b24c880de0b6b3a7640000808401546d72a0c22d48d72c70ccf0a44d0950daf16741838f9333ee0bc5e05ff02b058da1e010a06a20c9f74cbc14c0d5bf3b3c38d3c33a5ace9194cddc2c533afb16459eaa7647f86f82e4cb82014482f61894d531e7aa3c0bee832aaff22642c7a3128d48a81a880de0b6b3a7640000808401546d72a01dbaeffc8e11964c06a722bae73e35bb5de55b8f959592868f2ff5fc13b69bd3a002acadc04665570a2032cdb616de15bdca79127f21302d62db5baf96ae4734e6f86e830176e381d882520894ad346e81c5b26fe563ab1ba2aa4ff811655882ca872386f26fc10000808401546d72a0b6de11598824e338100d5ebe70c0b0f4d6893fbb36f11ad55cf74b2f43afc5dda05101e65e7e84ea9edba6e5bf1a1e07028ae3fa5213240e812e57cf6b29080726b9235302f9234f83aa36a7830137d564748315f52194ac9251ee97ed8bef31706354310c6b020c35d87b80b922e48ed7b3be000000000000000000000000000000000000000000000000000000000001edc00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020c00000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000009d69394bd71906a235f9113cc04321f573958d3e00000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc00000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5000000000000000000000000000077770000000000000000000000000000000191c15235c348207e935e72b9151056a9661d73631d1e2c3f89ffddf8e74efe8a42ab8767076a555a049372055c846097c99e69c26ab0a24553d21c15de29ea900000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000030ef2c000000000000000000000000000000000000000000000000000000006436f8d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d65822107fcfd520000000000000000000000000000000000000000000000000000000000000000ec15abee257256da1a964434000f59ddd45b1ce67d5df44f1c82fd5bfe95c3b31dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493470000000000000000000000000000777700000000000000000000000000000001d4b5b35d93f51c8143f6a4cc3d7b320d37ce03989cd88c28601f4ea94cd6554249cff83e4dd8e99a8ef9004b2ac7518996f4784af1f9e52debb6223a697e9652530feda219f333e01f8cd0b31ee83b9c250ee51fde9718ef5fa305cbcd01901200200100002020000400000280000006004000c0020000000000000000000100000000029000000000000000090000000000008000200040000012004020000800000000240002400008000800000020000000001040000000000040824000000000000002040000400000002000080000000000000804000000001001000c84000208000000000180020000014000000000210100510008000082c0000000001200002000000024000008400000000220001800400000008010000052000200000200028000000000800000040200000110000010000010000001020000210004100002000000000900280000010008001000000018004000000020000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000034bfbc00000000000000000000000000000000000000000000000000000000002ddb24000000000000000000000000000000000000000000000000000000006436f8d800000000000000000000000000000000000000000000000000000000000002e042ab8767076a555a049372055c846097c99e69c26ab0a24553d21c15de29ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000017e000000000000000000000000000000000000000000000000000000000000016202bf20ff78727f38ef16e03bfb3d4895f35cc626f97ede7cc99f48aeff8661fe32015ea8d62ec7a79e01cd398e85867bafdcf55cb6a7121b6fef097f5f5656a5d11ddf336b6879926ea2ae425e91c748a553c9a496cbe2ab556a91689f75ee2b01ad3c43aa774b50a9d8411a9f65be42d6cde781db1a1949a1e886f868917997b2a7122720155935f15da0807d0054f1a4c3db2a92ec4124bf590ce7a16594f3f1812f260acb049d01ad534a937840a80c0f56fd9a54ca5a8628ed896d14a5f8b2570f5813e35c990656f6300a1a1849429135ada6337646248f6ea03a7f70ac426c1d805216d154ea5a8e5ff953bc04b71b049b4b5bd549b6b0cfa7f8b21dba72a3805c7093d8589f2d4c55b6211441041e8bd7916daed5093fcebd377c31e810a6499e6e26840e3afadc9b339c6abc86b7f89fc3559f4242d373a71389db20219195f6e13069701f6d539dcf63a049726cdd8cadc412d1c43cf3fc0095ae5e2157dc668bdb924d7d7afc2b4632ab8a0e4ef71941a0a6a65645f6cd8570302f90b98bbdd01be238dc07780ee9b93e22ab87f26170d7fc5531347fb9fadcb65dc2ca20442a70be9e785292d533fa9496308a7b1588b50b45c17ea765de525259f036edd3984782399b46793acd5abb9f49e38b309c2363aead57264ac1a44e6432b81127a0bfdc29f01bd04e7db2b2545ed8426d2fe9b3e561793ec8fc875f2a71f31c13d11b94f892bb9f96bd2931b66ffa5e22b104c549e7c0d5010e4e70e271d48c0bd6e4be68c920ea77af85d12eb155d9b25703eabbd0ede1909565a55f11fcba848e01c60438611958101321898e95c8fdc936d31389bdba8073b382e5b1e2cd25993ad31586d7525f165fb25a1cf8c22623f983c025d21f0e52ecfec5f0232a753addaad88340ca39f00e9722f35dd25fbe8fdd8846bfc0288215d0638004009396bfcd5e6eb0c587797ae8297decbca48b02407219b910ce163552ed230438292cec430007886beabe7cdf5c6f9c3740a3dd6c52ba88e6d652ce43f90044193c4a42335291795c2cc160dc68b6225edb425a88d27cae159f77df3a2241fbe809c8f1122d245bf439df0761bec97358b96d6653bc83702b559bde5a2d12f771a2a11bc9dc32580bc3ccf9dfacd0a5379587ac5160b45d333a85cde46810ad2875b406f00438aee245ecc63815528a185e9e2a029147db7fcffcb8875e5259f15c3e467de02e035891b131bc715e54e7e27a7acc437bb9f6f84fa4456aa016b3578a73ed8a4706efb935be8b6abe0697e46d878d9c74e274f2816d2fd88146b316731719e125d227e002af95aa13f468a9bae4ff41a4a6036ee7fc321b3249aed4dfb6e75089ec0656ee4e87e1fffefbd74edf55a20d752a85caccf583c0d9e2ef1040b4d36a8e992ad50ce1c4bd2b300b344ca881725c164886a5f8f18035f6e75e67a3eaa2064fc24ff79897edb624e1a67f34deb414d5efaf4c55d482da108aa2ab7504fd5d7f78d91da5c20230380ec013b910b01a26b8bed8a05a004d52db30b7fb01f16347692e9f19f303f48ea8cbbed2d3a3eb277ddf4e9ed8026af5ce92a618c8942caf28b3249044347e14e5c3c2ed5ec0f9cccf1d11a5b290c00773e12c25feafbcceeb8ae6c25a88c9657c627187af6fe0bfea0b3cc36c908a76f90e965bc4135c8596534f444c91aaaaaa6277985e36248bd53ef0f74f103eeac98ba92c5350e4a0c586c851ad25df982e16b2d408de37c687efc6915a41197df379614aa657ab5100627c47896b51b000cb95505bac77e4e440ecd1fe50252fc98f15ee41cafbf717e144da35f424e141639de04ebe5d333e9df8c06821c689d1ef2abbfd12e8a1edc059a9279db7ff44bac1962b5f7297da5c989528229e98a91a3a2e351f371dfa34d4c3676725baa5fa4696f67f4239b5fe1e3fa351d66aa5a2df992426d94ba049bbb4eea0ab22e3b9a7409f2b6719ede64353f4112e4da3919adc16dcd99c545966256493d2699ae529e365c20515d95c013ba2627576fb75a030ffd25b85ed3fc40dbbedbca54427f8dc2255c16b742b3e2b82e1bb634ae73a402927e6dc424d1908942b9b0f2cc17909ed050defe85d24a1986291facbb4ecf9b7ff66c27f8e771d28ec6866e3d24bc97e7be388013df8ba8f407b9147ed9b3581784003a22eeada55656d2be271afce06ef3fca32ac9b77b4f2420d60e892c95418b2a1b7d3dae2738a073ef105e66c08488e8a91e8ebdb5a10e979611bd29245c13cc4c0f5b33eedc5263edd6c27666e0c3f02161114120230511406f9f82102fd8c37c36d4e383e445df4afc6e7dbaa570cfe05b3f6038ec1b7932b70e7b068a2656173d241e8f20bb6be3a3a3767111aa6f459f84be961c2337f6e03ed3cc6c847a3683894288b471504cbdc43a78f856801a10a87c77322e36e0ca426ec67ad3a2a3b79bc5cb81928a79a67a0fb46bb967cbab73fd36022f92d920204de61717dde6a85b7bcf57584c11ce54ac92998f856bf042a01c5006f155ac97d6757728caceba5530eb745e72277723ad34268b34008a97a27c370e9bc006aeaca4ac36414f35aa41ff400f698623a447c949f7f004f3c3fdb09f2af3c96042e215f0d4bbb23fda72d4f01dd9a55dbdec930919715a23e2cd772a260e2b91324c244d88ce1b83c92dce1aa0e0c255b80ed9325dec0e677563984a1c559ddb4a544eadeb2a38e8ed7736174a30d2bee6e0b65f3766e0b7a4e4d8022dd9f82493a9b1fadd1907147ac29edeb8cf8c7c58fbfa9b82ed3d9f9f05bfc900e52e29a05ca8d445b5245b16928dd61800ebb63933d9c471c2fb38776459641e9debdc606abf6ccfdf8fb41da88ba0745d96fd4557a879fee82e33df32d18b18d7360529f89f3dea680a5cb0c6a7652ee38589e1997f3e64ce4db1d3c04cd628fc0fd6e7ef1944108d48eb742a28467fa4bca693dbc8f923945256da2a83222d172286c82b1949803c54409de4653f258d0cf4266c83d5675ca9b5b3a3fb322b9c493ed7bff0a6165babb19c94d9e2014b13b099f09894fbcf32959b9d4ce71ddf9d24dee8bc40d6be92ee6e1220d84d68ecf1a0424132315c0612802b477b0acabcf346b0ad5ea329ea72f4de7524530bc00ad36baeee835908655faecd350463484d31623127c09c6cec446a9ac9a53cb6841ca2a097ceef88e537e209880ffdcfd5033bc3f5a885c271e41ee332366345fa867780beb3c1d5eaa496ea0908c560e84b404afb45f69169d28348ca20bb4f5693db19304d154f60a91ec4e9255be05739f5dc7e0b420d4bde4b188a8520bf39202f81dd3e2f4adcc6f4b4be16880103e0ab232f509729c91ddf0006d6a099a769b38affb89d7489b3bf261106aec362c77acdbb0a71c3da369067eb0f2ee9866a0bbdc4ee41ae81a88d860f1784565b7b1cdd350e8e12241103ff9d57c86c368775530773bafc058cbcea6309bd6d9c144cf6657cac5084ac5fe63ef038a71b3d79e6b7a32cc70039e182052f5cd5e415128e9ab1f553f13c165ea122d089975c1daf617766e12d9f3abb2501571eefde182b767e4b63568d37a8c553671adcee2ee4c7c6d77493e4599cd70d002a718fe0d7c31b7df3893f8b9993c90d7d55eea1c38292f1eae3a7887cfd182977403d5c029a42809f2c6fb8d04aff1c60106ba36367ecca0699866e5ec922ebaeffc4e624d0cc2c748f9c446da0c293d8ba7a28125145ce0936a2dd47172c4502ccf050145fc0584ad8608ee8f6c34c3e718fa5ca616722c5b3549ddb5e2f6a96e82c3d706bf255afda0272c199da51f9a4a869ce8b164694f6ef7593ce08b4bb0afda822eed4a0a7863f532fc0a22de9de5d3456574021b711c42eb1c9190de35ea592568f8ba5528c0f5fadc38e10b14a89a1e49fba9a76ca2478dcca20f8a3c78bb3e1b9869b7375d0deb87819ce7209ad4d73d84a92d08d23649bb50ecb4a1763050b7860afb055461b3158647b453d7977bddde0fac9415327e7eb2ea373fc8abd6793f576e72a47c92d6f6e19fadfdf2c6912365b74929d9b483c19f5146ac5a8dd943caf50b2e0a95fb19066a63a71862a540b2e41731ea66697094e51d309589ce9d25a37c06c9a12839c4c08a050a3ff9e502514f20d573c610466ac5399e11b0153954428f25d16958ab48614d34f768991f84411c401e6900fb0dfaab4108db0ad42fc9ae0a255e60fa4d92747ddda47d07de9f847e7a2be289798c5d34924aae419abdc41d30fb095c6ccabe5c5d5be73ec6197371ea74e08f0583b21901bd748db5348282cabaf57d883f5c55311f1304d7fcd30a9f0b22f810b1a7f089860e4ca0f23ddce9a23d7167762734b10b995d5bd2cf3b31f8f24b18d0a2f7ce1101d3a32d18988f162e91ac94b0f521f24fa287b0d2b97c408079336b89af9e842cf31886c701018ba98d5b0eb0e6d41b67b499f4c466cb1412db0e5937f7ffa83426c9234c713096444d0fc65d1b45f166e54d2a54bc103de110669fbc34555a6d16714ca37651e976b06a7ee96d80af9ff50162016a998451e2ce5819f3346b1fcdf6fe9ff3ec8420d4860a9980ce28fd8c55660983a3fb02cbedb5c638a49e5cdf0b69b71d78e071f1200608e235e6ed0ee8fea5567be12018bcd026412db0538c28bcd4a9afe799d5c677298646943c4200a039d2fced71d985d188f84dfd3132b6a015c50b8a60d712a97c89e0cd7d3a1740244c1522b117dad1220463f5d4af1004c1a2ad6b5708d7d6b28f8ae1e1e7dd1b2d3798b8c2e27a3559c7202aa268099eb3bbdf7c42d0d20b47e5623dba8e6aa1392ff532113c32bd836f4160abb287aefe648aaff6bb0a23928f580347046b64babf354790704538c6ce83f117ac7e83e1e0f54054466cc82b2144cf135be31f24f1b224e2a956827c303b0d82964e284b968c5ebe97688e49ca793a4aba81a3d36eefd8c12e3ce9409be63c3a308636a7b296b804d8125b4f29068ef44d3f2a3c9eb13e61d6365bb96d6973e88a70757b1d9213511d357d252df58d1e848d534d9517165263e803855e8caf387579f1ff0e7e9c3c8e532a2025d8016b70a45c24a546f0b21acf38d16b27eae6466e22396097090291184a7719beb4a55beb89275c6893e01f2075d3b73e165c39335d34a5aa7b280386e30a6df9ba917e1dc6774e2edaa0c87e8f5fcf89306a6fdbcf8cf52cf25f5df473fe350325d510421546765acd00b34ef53e56b01445deea042282e7d6ce20c8f967204c26bda9f2596fa378dc611091ab6db9e1e8d4e9b5c1cc4c4d6ee2ad82b32d08f8cb5a9dd9b03f7aa754f2738ddf2dc0c3318974ff3810765917c251c74ce3d7132c26b5f2ede12a6f62f2e8ddecd5e0d02f99f2ed8ac15641c586d68e093fbe80cefd6a7dbdac6d43e261160807eb82fc2aea870a22b25148d256a083325a5b97bcf0187f748b6c0a1691867344efdd53809fb9edea57669c33780a4aa9e65149937817d3d845d9fccae1876575d5383d06adeacd0f3371209a30e1a9c98446174b0b98560652d0643f120bdabd5484435871b42ad0ce36aa8330c7edd26e64e89eb84e0c72a2c6e49fb24088ae2bdaf7ef07af9bfe381dd6a9ed430a553de1bad4dcefd5239b389090925a69e44e25800d9fccda11ff4e1e4d3049386397f1145c3595ab5115255bc1c1eabb379a37504eda27b1a103b88ae8f174e1d182e3dfbb0b8317d05d6e08c191661b04537421fd84057a9ff5a6eceb68c5bf1f0e356df6e93d936bb6bdccb42127cba43e7615d522242df13f08e5fa162a641430c1431a7d7181dec65202fb618a690c2bf3361d7dc689d5e4a97a550a9b17c8a5ada8f32db3f774e9ed047c02eb7d1ba7add29fa07ab90f290e77bd91ee9b5208b1fb19a37f29dd1a492fa32156a7d43146a336fe6144d19228f975c54ab304565269124e069e864873c0eef23f2e7b012e84ad0c71d76e1b23b8b9a0a66edcd59f4b203a9773ce26baee206254b49efb10cc48bad814b2e299bd478fd4bd8b1ae2c8bd99070b259a9e204e42fc5f65f9e25cb4e4a1a3b67872314fcaeede2abbbc6978660c3e685f6dccb53160d1f7517bbda54177495c23fcf45cdd66363a70a84f2699e239b5071c9e6cb19069f3e0be9f4390c8028ae9960851e34ea18ff88d36ee826c0a4db4e33e94f0ec6651a728a1a2b0c15b30a1783ad4b1d224d87264779a817d107d40c75b77c25addd7b7d6a8b73b2d551f125daed95786920c4130d2061178604f9604a0e2f1c6cdbf3066fd28bf276ee0aee379bc049bc8eba361f4052bd2a698da312c991015c0fbc43ea1d2e72426279fc5181851a15a2f4883018ab01ff8745625f388f05f5fa9abc5d87a710a1227322626115b60f781f4ddd91e205c1cca582a5e37e005396703375846be4f36fdb76c277dc1a2ff1f183cbafc6db485a562f4d08262a207844a3d12261fa0ac479abca76f417df42b037e611b1b6acfda94d5dacc620c3edf5744db24bcc41ef1722dc0e620f8a35c50585a7cecfc97f05bfec21f919420e62a9c4f28ea9585cc056aee08ed8891d077a9647d9c0b5c3141f8c517f13b05bf0a18b99111d2d6e7b4892e78fab35d882e4e153060f0c44cb946d20ad0897a34d2a24d3800b54acd68fdd797aa362560dcede6d12909948bd6f4726a20142eec9c6b78d224b2c24885490bfb492217c6809e0628164579d2c2c16a90f28aa5393ad44c45d4e1500fccdcc684023d7cac4e2cca889333f048cd9a29de018e958d00553c77c74ab50d974df5f654233fb923e809ef6ceabe6a860386603003cc376e90b8bee74f2477343a5ae923aea4ffe99a91b9d9289ddcc3ca316b026b3d369aca474b7941588fc6e9cb062528b10f13b90dd55afd64f7b0ab79163163ce02aed379af25740ac5e37c5628c0b868b7ccfed0ae521c964846f0287d3006952539b2dffaf891bd01fe98a1685e71536d7f33ae85775d11545eb379e0916be616206968605e5033267f6f79cc651c2ce71a790ae5cef19fea7604e479c0793f82db1f8e85bec40d8c6a2dbc9bf76d02a616aced611ae1a7a3756d87dab2855ca585d0048e1e4222ed9d6fa24e3e13677256fbb9959b965727c192696a11474a7f6a6b6c8efb649b1f601c76576f36996ec7a20eee84208232c20e8502903d4e303e4ad7139c654b7e5d2aa262d75672cbb4f653e62ed8e4d28835f7d6d0efb3f39c40558d9cbf19f250681a5c8a59143fec80d6a69d8a265835d6562ef248fa4ac508bd60c9283f6e731baa786828d0f7a635e1d14a448383c8b0243570df4a42799afe03143c227e3fcf0b1393bdf8bacbd26f1041d5e3112c84755942fac77981fe16f048cd882243a8787b09bdc38847a5a9cc9aaf4d30544181ff014dca8b2892c00a933333df6d8ef79041483f2d8c6416897ae7897ca1da85e8f0a493be4520595cd0dd7d32c87999e703704ba0ac7d8b444dba807746123100e2cf7573843a0a755eebad6045d2970a0ef8c9adddff093e79731d5e506f1c43318fb25144ff5fb63041574e89216ebe0ac75d7dcffc35d095691723493c94dcc11d4480bf3fe7b76ba53cae5b409c002f2d1bb5eab08ac993054ec297543798700fe3e2877a4a0cce53599a66eb4f1fef5cafc774277f0e694ebd7f8748fb5140735282e5e0b9bb35b8aeb098775a33820c9b8decad3ad6ce36f79c347dcc2c60a5442d2eab4368827acae1f0ccd52f0475fab95ac57c3c9d7c2649d355756140d5a1e8c6eab8b67a5c169cb899230c4be1dc702323f2b07ee1fcf5657361e250ccbe93bb403abd857eee4335e454e8485a3b055c908c957dca3f9a288299729216103089910386fb994285602ce12b04be1819a2c80394b2410767d9aabdb591e4c4dcd08d1d5bc1bcb532496ff1fc968ac3ff59bc7266d8ecbb67f34b681331685a99b781c9752dfe83d145bd4f3c8ec634f028e850e246aa81f1d03aef40d000000000000000000000000000000000000000000000000000000000000010cf90109b853f851a0bf32b9037b600aae3ecd3dd1838bc9f18ae1661f615cf3d70bc270b6c31f55fb80808080808080a0a2381991afea644ece5cba0d8d69f838f7b123d2e0057a54509e0c61e8b293028080808080808080b8b2f8b030b8adf8ab8301edbf808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5830518dca079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05f3b41e975b46e86d5365943cfe25ae960fc2c7c1bb4eb0025eac5eb0bc6639c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ebf901e8b853f851a0529f2d89256fc038782a4d70b40bf127de906cbe211e7acaa3e928e0fd5cf11d80808080808080a0b4f4d0be01c65da5308bab41d52d8a7c93a1693c170c44d1f619b8364d40e3428080808080808080b90190f9018d30b90189f901860183039445b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000800000000000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320266a0d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000adf8ab8301edbf808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5830518dca079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05f3b41e975b46e86d5365943cfe25ae960fc2c7c1bb4eb0025eac5eb0bc6639c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000189f901860183039445b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000800000000000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320266a0d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa50000000000000000000000000000000000000000000000c080a0ae5e67673b90f2d6802e8dba26aadb2e8b81e059d1611afd1908e743e3c0b75da004886b0ac3a810519aa2395bffdd94fbcfe4a2de989ec95d1aea0fcd09afd931b9235302f9234f83aa36a7830137d664748315f42594ac9251ee97ed8bef31706354310c6b020c35d87b80b922e48ed7b3be000000000000000000000000000000000000000000000000000000000001edc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020c00000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000009d69394bd71906a235f9113cc04321f573958d3e00000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc10000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d674400000000000000000000000000007777000000000000000000000000000000010012f20d5ba20a09e185d452c999c129d712b83c75480e2e029fc895986d361a781b2045b8b5226f9c1fd712d8b1a5f1faca84f5fcee87a7d1dd2b57f55617df000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000004f9456000000000000000000000000000000000000000000000000000000006436f8e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d65822107fcfd520000000000000000000000000000000000000000000000000000000000000000bbe20eedcc0216c615d3a0550a5507bdb2f9912eba7b608300486e871a4e42491dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000007777000000000000000000000000000000014852ab81d236f35c396d4836a6f82239f5672a4b6136ab9ebdd8669a9f9e831b87a26944e5c04f16b79426135ac11b155922c14178bf3d1ecbb1fb12ccc8119a22df5003de2d5956c745f9e825a8f0ca1bb1e265d4d431781b00765e0fe37280000000000004a00000000000800000020400004002001000000000000000010000000002800000000000100009000000000000a000000050000010004020000000000000000412000008002900000000000000000000000000000000820000000000000002000000400000000000080000000000000800000000001000040c0400000000000000010000000001400000000081000001800800008280000000001200002000000000000008440000000000001000000000004000000000000200200040028000000000000000000200000000000000000010000000020200290004100000000000000902080400010000001000000008000000000020000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc100000000000000000000000000000000000000000000000000000000005364e600000000000000000000000000000000000000000000000000000000004456ed000000000000000000000000000000000000000000000000000000006436f8e400000000000000000000000000000000000000000000000000000000000002e0781b2045b8b5226f9c1fd712d8b1a5f1faca84f5fcee87a7d1dd2b57f55617df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000017e000000000000000000000000000000000000000000000000000000000000016202bf20ff78727f38ef16e03bfb3d4895f35cc626f97ede7cc99f48aeff8661fe32015ea8d62ec7a79e01cd398e85867bafdcf55cb6a7121b6fef097f5f5656a5d11ddf336b6879926ea2ae425e91c748a553c9a496cbe2ab556a91689f75ee2b01ad3c43aa774b50a9d8411a9f65be42d6cde781db1a1949a1e886f868917997b21ad05b7c1eb0d208d17426c52831c6347a8db75b12bfeb2970c4dc6666e4eba0492d2ec318089b11ee7ec6087ab6a3df335770526cc0c1679b764d847b4ec1e303d400c12e690aa26a3771e5676e7ac95e2dc7a1b33be698f077c598f880d4203defa26ad36b84573e923af347475c7c7671be245e9859ca1db3c047faeee4b1c0e81d8a92915c2b94ff300e18f77f70ffec15631161e0bc3cdc9143c43422c208187652c1ec83c5d282e10587216eaf56689e5fe236f72c13eb9574afabc622a739cefbbe11aaa4e2e3d4c5415818914fe554a07be374f565d9bcebc0134940e8921b87bd4f6b42a6432e6e176be5ec82bb8eb6bdb7e4acc1f1e99725bd3ab2e3fa52e02c2741dfe6eddf5a3846dfd57f6a72e834faa048cb007826a293d9e163d47f9ea635871b25afcc3561dfce77b3a2604b3c8de90aa24916f41aed62d2e0c0d18f9c259bf614f1321c5b7cf7b5bd73cec408dd85f046bf36302e20f3603b7832071796022e893386de4e3b170135a591b1a44117240ba85876dba586b1f31c13d11b94f892bb9f96bd2931b66ffa5e22b104c549e7c0d5010e4e70e271d48c0bd6e4be68c920ea77af85d12eb155d9b25703eabbd0ede1909565a55f12f7e30e74b0329222f6067cad3b4324a80f570506985d729f7780955333f40e615f065023fb607d975d7a2b9f234137e72260d8f6b586baecf42819f8328dfb3304441f2c9e97d1fab9a3625073ac3d2bff6ba2f8d659cbc6f66e8d9afde1ef229ff39bac1ecd65eddc4953e2726a72daefa76f00d58e11c9a9ba3448fbe0d3a03db78d70ed9c574ddc45de5c73efdf3113ee70a4b42cea9884f85c1b995516912800abeb70f3022d5de6d9f49469161a36a6a309099ca43e388908635ed4ae825a14b7cf5213454a1f345497008ed417e5d33ef84c4934368b36f27606072192a1b43396f89647f0541dd25f55b42c5295d3ab2a22355664608b8dfec3c9d76045b27d8c2bdba7f376a44826bbf4044aed0d57068489fd32a2bf52f8613aa150185aafe655d2b86bf8867a6f7728c4133fb95776545b19767a0d7144f60f5ef038eac390d1cac6f9882211d7302137efc82b93b8f9c55db629f47a2c61931c21d01d5ad967c9dc6c1abfd496a74df2ac4714cfb027bc4d8c0153543ca663ded2af64f7396ed3b2ebd1976386814e94b7f7fcc3a19a4dd876288b905c381bc8f008de145083d6404890a863e1af1dd897aeef2516b20df50befb6c708c9728a22cb31d80b0e953aa71230d2462bb0668dd8701e11bc5240d85184f9298e2c5a3257b5dcc3e138df8b7d4162d6253fb5c21a65e952600c8764c613c6f43d22c861d4380cd688c286e9ffad6bb8582421fcab96b075769cf48b3160f056dfac4041b08287533a769bed0f08fdee9a16c5c8f414eb35830793c7b64341fef79dbc529a7b99f85d4e2e88b64954be967c5ee6386f9131b80b454ce70209f78f2101d0ca71da273735bcbcdc5ea5d3d54b607820b9bc852abb1b733cb7bb5018276d30c4c0a7f9ffcd318499a2041043494b82456ca8ac6f07678a8b770329b7c00f31e70e97ce48bc796570be27577e8986ee4c7fa51da44bdecfddfcf18686cbddc02ca206d9132d451ab55cce8069f631412ad2ae02b1a8245d31c0a65854d07370259f632fe253b2412c5a785148248d660d7cb6bef5240749d6ac4a4ac59384b27e7019c6cae15ef7c82e5a952f4da079b6205f9e16f3d3c84e94b490530c5b602d4bf5e9d34f2a785cdb7f7755d6d467a9d88071bbdf8c79195730db7d0b7872cbdcdabab02bd4b8487b726c5ce6492344ae7e900a21893e7b840b46380ba99278ce95322dc23daa97995d1149d425952913428c8ef8659dd2cc2895f12b08e0532a254fd5674fcac1b0992472ef75337d8d77f6fef3720d4b7b17302478c7d2e3b8dec7af4c681aba5e25d8aa3f4382b0082066c3f7a0b4e42c4637df90d9a1e2f3fd1cffa7e0d5577f5da89353521ed02cb1c39eb5746cef10ceb74c3fdba13199b42516ebfe29af40da64ad81b46b7bf04bf25994255c7a51f6839848810025bb52fe7500cf1ef628a07747894e3b73d53e6b2997d0654f1ffd0c070455400fd7e9d670984ac807a0f8131977ed1806fd3c0927c34b7b4dabf011d31e86b1b7932b70e7b068a2656173d241e8f20bb6be3a3a3767111aa6f459f84be961c2337f6e03ed3cc6c847a3683894288b471504cbdc43a78f856801a10a87c77322e36e0ca426ec67ad3a2a3b79bc5cb81928a79a67a0fb46bb967cbab73fd36022f92d920204de61717dde6a85b7bcf57584c11ce54ac92998f856bf042a01c5020d266b1ccea774955484405f58ad161251d879a87c43d5dbaecd976ac5d04dd2586d70031a86b0dcade14028f36a04508494c7a20e98b3b21f7765e7b3ef68f10960709e63eea35a26ff47424e18df8cc271ff3049262c855d6a131695a395f2ba2f1b039012ac8a2abdf6d9f6b0c432f0ae78b9bccb99f89759434477257ce1f44cc61e95b9c9843ec8efb17c640fc4c837ec125fb25323d3f0644615d21721607fee4d68e2dc9bd29f5b13fafe39b0710d0365dccda35e3c937aed1b6949b2a0a7523011eb706357b85e174376ea7cadbd01ed0dd1bc6a8e5a5a11bc6131f0661dd6365b13c6e2de50b98cba1cde58a921d19936c711424eb625b7c35cba01a0f7dfa8d6f86a2a02425ab48e2c28f8f2f61adbb744c221b9c4f35b16c749c227bcee1202e87537c7441f421c855ce87d858a679f09dcf814bfa1f26f7d9ce18f723d2f84d4b25ec60adbb6367e92270836d03c71ed43413767342a4fb8d6801b8755bf65e7947ed4459ad6486fc1cca1f1cc89df3d307f01d8ac68aa1d08d18aa35a46bf245589c599eddc6337e764c36426f7b7f5d2afde0a76fd3aa536d1a165f9f23cfc65866f574f2289aa5be056dd32c72a204ba8328dd9b0b4643790463484d31623127c09c6cec446a9ac9a53cb6841ca2a097ceef88e537e209880ffdcfd5033bc3f5a885c271e41ee332366345fa867780beb3c1d5eaa496ea09160db3fa7477a2fff436ecee95aa2d51ff42ca9d4fcf021b6e501410fd41098a1a8f6021636ece98c27bd74740b7280d3a5e13d9850fcf7f2118c4c91572ba5826fcc4b0837d0b394f6683cba38fa35a5e2bd242041533bd25939cc873d1f5852a2f57cb172eb17c2e3c351240a0b2b334978b90ac18041b09aead26649b1c1c019e41731e77c6b2211d7da94630507bad027561dc625b7e84094378e599a57b09eb32c2a67cf5f2f0bf9250e6da07b165f97dca10517e9f3fe3561d02ec83a722b544bd6e25ef27d9825d13651443c4d984d7e5d0fd70c2a7f983b3ae8c698d27a2a0bf2d35655f477adc99c56f48773922831746f8af58de941a020986ad7c23fb7d31c2f17f305174db26b40447e64c66216dce98e7a8316dd91dee468e602206a4d1d18fa7827f733037fa87dfc9c74c9df0960867087c776382b94db9420a19e5338e17e8a68cb7621f0b56984610bedd3d9b77dc5447cdb129ecc33596079cf206e93904368cae07f0d449e2095f8abd95f26603d2db047647babc8342200be0095aa5489fd18cd00a52f59b70ff04c4b1e572db76d08bad419abbabb00b9e485e3f017807c12b427b5e0e648cf7b16065e313c1c073ce354a5fc6812c02b8d4b6aa1168c575dad9875087fe9f61702309febfb99b895387cc1104c35e123b713019b5e51c320fc2521cdb5cfca20f617773fd46d3872128b87df6f66a21fb3fa16711245ab65eef629c5e6073efaff5b707657f4442f2eb2637fa71000f14fc691a71aacf902c0c1a1a5d7d8d351b8b3cad57acd0a9e47a1abdcaf2b70aed8b7370a6bb2bb4f3d679c4f9793e4b256deefaef1e6dbcdbb648b917e34822d833d2ac1614aebcf360d328d9271f27c52c93de4a9455ce6cd8d2140ebf6b21c9b172cf47556efc5dff9afb913e328a708292bfb65c96d668f4d0b3a9a21b222039156cba9980d6bf11efbd8dd893378e5dc1b323c57d8f702076c22d125d1489bab2553c5521631c35f7b5236007ce8f37012cace78d6eb39718904b5dc31ddcb6f4f175e52bcf6c6008f6f5a572925600194b9af7ae074dbf85119e3afd141b2ff2652a58f043e97f11b77997a9da1c96c18b5254a107f24e997a3ea61c2069b9d04d49bd1bcd2495b19bc71848f28bfb4f0346b682a1b474e040b056e60a32b5e8aa532103101cb45ca41c6a690c8688523b8566d507f29eb44fe2d2490e81f4343ca61c8783b83e40e3ce66532f186e9d09bd2667cf974a763072a910121aa5e86e151d92a868508b680f795bc30b4502769f41e3afef5f321be9ce2f1cff3eb3308d65aa0ed780cc889f605f35eb5e02ba772d08db2579f8561c61fa09a8e23ea1416fb95ca0c7e139ddd16f04b0c872499e44cb5a03868d6c5fa1300c19a96b8586b8f33bd760c6350713696b7d3236acb0eb35bde2e6378e9ef9b117b02290ead7824d42452e332f6ec95a7f871da9ebdf6ad02c959a1a36ba33ff0089a4f5217b7bfa5379a507b1e994fb7b8fef489f1f2cf6fdedf0e530635ef31faaa1a37457c445836376dc5cdefc7770fbbad8c326955655efe4ecde89bd2f1dc62a2551a45206fd7d42605aa1c0fc80476b741bd7df1f0f2db0fc387614240e78427bb3a8cbbaf9bb112da06ea6942335f88c65d42d17816136509ec39b51079b5eb2a8cd15c3d1fbc56dd72c3499c101e2fc9126e8f194c6c8006faef30917c5e535439c6b0d78be52a4d17a3a25d0878649b668db027eecbbafcfac7a612138c77d1511f9cc5e763eaddbad6d9d8770705ef7b4d062b4c6dc72f30d1d272dca8700ae03a4c6d2cc6a0a03f9bfb2615b2b294515ca80827ec9cbaa7746112530f5e70f236a641c05bbc8647dd130f02db3561f9dfaa1d687235bccb0498202af478a6070dfa49df99785a61eb5fe5f18777569c18b08d2042ae8639abbc225b832a2fbcd95ff43a3fee4fb2962983af8304ef995716110a7ad35c538697c109c01c427ca6cefef3a842fcf74b1c49a3f2da88b85fdb1d05e20cd567538942fa2f0ffbb5d2ff73d60d562d9a0a6894bec3d85a709b43e42ab64e2306cb96919e078b899f3155af56390d06ddc662afe8d2c91fc091e2c5cbbfab3fdb3f49423a5a5f7741f2d70c6736adc66e7c2caa89c6bbc678bb4b445a8a63d120867f01f164dc87adc853633ca7bd4b9d585c2a637d1469da612b5210476fc8d66f90029bdbf7fa5eddc8335cd23deb4bb47e1582e64a03dd021292d34435419af80af178cdfab0fb9374fa0fade48108cd3a571b814231784ac37c9f6071fc6ac0bb018595c9d8afbfcd6f31832b2581f7f7ce7c45d22817aab8ac6df0e0995e12dbd1595c3377b707b816c96ceb1893b9e7c747a577bb7540b89eb3ff7cac878a7a121a37b38fcd3248abfd24b50e25948dcaeff8c1c7ab8b745a93adb87cd54fca223dd940ef4d7eca9dd69243c74ea128ed624e52c7a2257f3950d0c7409d665d912495f8a8a2cf2482c1d51cd7793d3d31f32ffc24374d8606daa2a423931d97019ba2fd3ba773645b7fd01cf75e8201dd29f694a72136b585d940bff8867654223c28d0603d85fe4472d93ee30e35f46e27b8f40f9a9ad03992d9ff23305fc062c7d95971baae1ab074df88d41e09ec9752efff012c482e0cf9aea2b78cc26db146a278d584575ed615f5d168e6df7a832322da093f0aea706cee594207427d3005fd910843f3dc54b14f8b187e3b495b7474792743fc2e43f62bbc7fd50a76513f1fa4073b15a42d1e78a708134238f2521c749d086deeef512823b514aa64122b365efd51e11415de40826971c234d571c3e2a0507226c6ccc540e43a9aa32244b29784ac824c20d3d1b72dc7262f61cce4eefbe9a4ea4cb1061e4a71925aa13f31d6ce80bb7c56bf47b91cf107ab17168dd4fb60614757d7c7f4ebe0320692235fb502621ed9b15b9b3fa23aa1bf266a2a2c3f2386b52625e42e0cd85c37319e3266185419bcf6dea997e52ec8fca5887a68530002fcc5b3619e88d4dc9a918cc36bac2416ffa9b9734ac4e67a93a800f36d7aba4ecfed8d65f62cf6ad13d184a8c6406e3ba17b8aee6af0721ed091e1d225d044629a4ef5153c294a3e87e243e03bdcf6eaf7ee56d9d969a1f054d5774a7e2c363b160386b909c89717aa7015385f4ab8b6c97805c12c37d981ca945134cb1306d39a4d136b42c36d8aacd2c37575a11b17fa50ede8072d667f64bb55e3b54aff2c3c61782e442e088db7c1ce62287477132bef00c17e9992dd42f35b5e098eb97724fc4e697d75812635203abe8f96000d9553012be065980fb16d6d1c0c80457585c6eb699b0e8a6e36c1cd518dd1ffc517afcb9114a4ff629d06cd2f0be1495c4ee09243e96529e6c3a228c923ca2a703930ea94f7a5803645324ba9ea1a08e6c3241fe57a80bd24f780566342561189baed15e85ba9257b701d651754ff534e51279961ff379974e34010d80773b169a140e0ee7c5e2c0312c9dee46fb7b309710d448a43805c7eab513e84e346411b7145f77ff4ced7b32eb641528f78d88af0fe88e0840e9c16f2210e18c1da605bb04a4c963441c06fa839f722b0c67345168bc0fbb1c826f20472c7551a1327eae9eddbc24e63814fb81320cbc6f03488d64587f3e5f53c03db02cb15412e622f9ec9944643d4b5530b0cd4d577489d8ee499ecf2b74fb72423412aca8530fe53c3fc584ed8e39f900843ac73e36fb113c343cc197cd689a09e12f29203c1dfe839630f6932f3a29de81ba787f6044e70dff8981b71fe82f8a4d01f45770a53b090026a003b3e639eca0e6a1e5bdd0aad456e89d83012ea1f53e1a5fe848b33528f7195a7b0c36d4315f1b96b62d5603e87a13e12a97ec335e3922d4339d9575cb26d5691da78a738aa5c84aecc22a93033a6912f84360d13e2e23b0185bdc2cd331bd26ababcc91894935db5c7e1800b8a10db884a7614ceea91f38bbf623c5e7e7238eef06cd9fc9e43507c56e8d6212b7d03ef2db0dfceb040c0b206e1b7eee6ae564b15e4c02e9c3e4179d78bc68a9fbc2166cb8458342f218dc631705602b2ef1c6716dbc08f30810c9e2ab3ac7a03e300e9c21cd2a0240025ed5eda13e6daa246241669acfae65302dbca5c579d3b5c3a4c16a976209e22845337f9ca033329f849f3ccebc69ff01b301d99dbe9e79058fade67bf881c70283f41eaca130d1423e733ccd520f26ebbe8d304cbb8fa2f4bf67e2e041e5e90e840d5510d33a9f700219fbead699901ea3b3f8aa3d5ff0c028ceee5b5e711c29e7740bc98f4b78f15f2aa1e01449f1f15e68023861f540d2ae0541273c641914ea0e6abadbb2f11618bb678c8b7abff1f6d4e9f789706cdbd8dcc1acd4bbd506e42e928d134366d3f32d8caa4b86736bb065b1a3f89354835b7ba5ae1e53cc1bd9f5dfa3e0d49c0a0a8d32670c382712e30f8f4cb8fc980785fb6012df752e02c923d3f56f5764a41629646f9fd7641c8365f0917f85a64d0ba36179e2c2b3045d7b3c6ccfdb60cd5c365c43d88e231465c6616f7d2cab0db88cd79268e5ba0cecb98875958ee3827af7842e35d9cc89c3776e5640f2433a6afccf0e6fff9321e31802746639bf2bf77f375dd6799baa184b48815f24d3fca5d534dfe61d1306d15e97d3a320457ddd2239cc52fb31dbf98709cf090ae59afabbda6da75f4e1373a28bcadc2405e0a7f6dbf9a3e26511fc600a496b4623593213283a1fd33f000000000000000000000000000000000000000000000000000000000000010cf90109b853f851a04dd5a916917c46969db2e2093e73972daa52d5582e183eb0bd08362e7aca1dc280808080808080a03605d0d2c4765be29883abb71f1c4b162f9d6786835ccabb068a243ff819909f8080808080808080b8b2f8b030b8adf8ab8301edc0808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d6744830518dba079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05a4ba290d849b719839872aa1e6999ee672fff37d450956de85fe07c96f172d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ebf901e8b853f851a087eef6c6fab228bc280138441d870592a3910f042806b16f257faf5f1542f9a280808080808080a00ac60a3a5bafa4560edb7bd978a6b8980fa818c5edea7c010986328de4d9b4ba8080808080808080b90190f9018d30b90189f901860183039445b9010000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320267a0dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d674400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000adf8ab8301edc0808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d6744830518dba079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05a4ba290d849b719839872aa1e6999ee672fff37d450956de85fe07c96f172d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000189f901860183039445b9010000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320267a0dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d67440000000000000000000000000000000000000000000000c080a0d86a71e8e531bae3b2a2e70d98e516ccf31b6583d936ffa31c3772ac265db828a0420f5a8067c7eec5214117647da149eaa4e7c78a10d8ee6fa62001ee1b680f9fb9060002f905fc83aa36a7823d3f647482a9c494bac000000000000000000000000000000000000380b905930001536cb8da3dd105e94414690798c7f100000000057b78da8ccffb3bd38b03c0f12199bb964b426dd6b091efd7dc3ad1a9d321d1713b2ea1189d39280b4791c5c858729090c3b6182ac75951eef74b38191686b35c4669656ca9dc5a0ce7e9399f7efffc03afe7fd6e7485887f6264e97e9856a6978b65c5db3b4ce57cf4812abeba0de10d0d6ee5a2cbc9885a2163a58d1895524adbfd86d795eac74ec74d783b599861bf4b7b3e6daf70b3ae0e5740c88a4dc15b893f76fe074a718bcead52fb2a06d6e5f1cf3ca344ad05dcf5ca10bd9bc2809cd8ecd40a2dd0e03200dadd8f921f0e9953a7e6d8c7dc99e60cf6fe81465175e0cf99b702ac6a13706e64ac349a1119796eb0b6e7d5ae48ad74a5c997d679ef9c637c619587cb98ecf88e620dacdc57701500c74e087533f978831a78bf3857cb6044a8c66e41645cdee74ac7cdac69a8484083eb003827ccfd6b92c77b7097a15f38a419f6f0578f3568465e6fb639f1a8d6e52e9d17a0413100ca8d08b210a2e5adb2bead3dfaada14b2513113802f3996daccac89014dafd1368700300053ad7daeea2a4d4d9e8502aa44337c6ff91165a25de84fe5273b2e5b7f4dda3a0410900125e7778d5c2a59a2ca2ce36bacc9e95812ae1b69a478fc7ecf5ded14b68a80a010d6e03e07137d5de8082773f8a422390cd0a592d81e6e623a42bc69547e6b343e1d9a14e64ac3486116e29a8315486a2324d93d3e33a8344ffdbc2655b76dbf72077e43c13961a6a52f0565f2000881576c7a113e7aa6e9a6ed4679014533f8d1bf80ff44ae5599813e80d2c1f2fd0a03400864952137916724a4504bb118ccaf9236f217a1e43c97e471397a3f86672226dd0e02e00d4dcbfe4dd250a97d0c830b3d93213fd048fed38ea8378018c726be68728e22c687037000e3bb6d2858fba82db877c2e28fa1e2cca4ce57b6bdfdba7513dcd2649da93544083d06f85c8f4d21559e8e7651dcaa0c3aafc4a691fdfb27f2f39ea08ea62feff43cf0d80061500b0b00cb246f3641d83f5c934c477ca641a5c545da8aa0e4662c4c5f26ee70525a04125006cf268fbdcaddb151168bf24d3fa2e09f7445d859ff9e5ba2fe71e7ef8861ba61834a80280ebddf1bc99e8d00ae5d2a0893d64774d4cea1bad7146fc964526b6c4617cd70a68500d00f7e8131b976b9537ab4e2b9c9cf086fcfd82e235cf6c6eabbf8030cc3fd1e395071a840120bfbd7fd4a54397eca0c0f7adc1231dd539950f508f92e237e3aeb91468c38d4083ea0068a89abd38178e2e9f67559758419b6908d48d58967547c9edfe98ba016e050734a809807957936c079272b238748593ee3a73f5c7647d0ece20a5c208769c484474aa2f192b6dcc780a770c9b40b42348219a34a746cb495f3f1efb710a816ac142121461c6f7bf82fb00b0dec5bfbcaa2e32983075c84989e439154bfc7df1d0549680a6c1a4999c18aa010dee074028fcade2995b7daec4562449ccbced0caf7a660f49ac4ea07d485b22348948a0415d001ce8e16f70ca5813141f7f7544586da1364d2f77dd8fbb7cc937c6d46136f93d68f000009a72d59e5a9bdf1de5e60bbb17358bc65e8ff1566fabad6d6eb42ef2781f6d6d40837000bce21c64847942319b4ac1c92b2ee02fe2bfbf43b685908b92a0c3cd25f21641a0417d0084138599419cf73489312bda0d53e1fa748e1f7927380961470ec9fda73b36978c953661c8065aaafe09fb847fb54e35b3c68f771b6953941b2b4e619b486d81761ee187bf828700301cd34529763c60738c12e1ccce6ddff8b8338cda8fda245e5d8d5613d20734408306df96bd65c7b8d5c27299269dd9335ef7cb1f3357145983f365ec2f933686fc6d77d0a01100ca3a3773d3f0a52559ee691776b714fedc8c7b2cd672c7065c295693d0616d37408318007c18e9a9f6e4929e20d8efd4c2428065720ed1938af8e5348c14b373b0a845d1063468d2f96f000000ffff86f9aa5001c001a08f785a1c8e4c549c415dd948da80f86e3aaabc4e7a784604b6362208e0fb6b85a011d366d57b6ad95cda2eb6b618704859b4d433ad7557cad177eff6f6bae578cbc0f90200df8345de7e8203e494e276bc378a527a8792b353cdca5b5e53263dfb9e82168cdf8345de7f8203e594e276bc378a527a8792b353cdca5b5e53263dfb9e82168cdf8345de8082062294388ea662ef2c223ec0b047d41bf3c0f362142ad58212cadf8345de8182062394388ea662ef2c223ec0b047d41bf3c0f362142ad58212cadf8345de828201949425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de838201979425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de848201999425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8582019a9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8682019b9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8782019e9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de888201a29425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de898201a59425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8a8201a89425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8b8201a99425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8c8201aa9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8d8201ac9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/debug_getRawHeader.mdx b/docs-api/api/methods/debug_getRawHeader.mdx
new file mode 100644
index 000000000..6df78bf3d
--- /dev/null
+++ b/docs-api/api/methods/debug_getRawHeader.mdx
@@ -0,0 +1,118 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "debug_getRawHeader"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # debug\_getRawHeader
+
+
+
+ Returns an RLP-encoded header.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Header RLP** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ debug\_getRawHeader example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x32026E"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xf90236a09f73691f6dabca4f0a99b05d0a701995506aa311dcaa9ce9833d6f4ca474c162a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794c6e2459991bfe27cca6d86722f35da23a1e4cb97a078103ea8c47231886481d72ec1afae6eeb06c3773ce24a91323d5c9eed69d4cca0008992da2531db404f07b0871dd620a94ba346963e1b1c6dc7b00748e8593a1ea0b6c3890d9604434fc52f722848c84d1770add20cd75bbc28cdedff42940dbb56b90100200800000400000002000e0000000401000000440100000000c0400600000002000801000000040480020840048000000000400000000000000020004220000011002000000000000204000800000010010002000002000000000040a000000000000400020000010885000000000808000000008800001004002010020300005000000010002110410402000000000000000890000008000000000000000000020040000002000000000000810400000040006000004000004080020000000000000022001000000000000840400000000220250000000000080402000420000418000000000000000400040000004080040010200000000000108020020000808332026e8401c9c380833e3c3c846436f93899d883010b05846765746888676f312e32302e32856c696e7578a0112d8f15793e7df7f8dcdb21c891cff78c0d1839cb5b6dcd06116cdbb99536ae88000000000000000008a0cdb97712af6685bb9650d21d609525913293c48adda7c45990926daada335c9b"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/debug_getRawReceipts.mdx b/docs-api/api/methods/debug_getRawReceipts.mdx
new file mode 100644
index 000000000..bcc15ba78
--- /dev/null
+++ b/docs-api/api/methods/debug_getRawReceipts.mdx
@@ -0,0 +1,121 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "debug_getRawReceipts"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # debug\_getRawReceipts
+
+
+
+ Returns an array of EIP-2718 binary-encoded receipts.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Receipts** `array`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ debug\_getRawReceipts example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x32026E"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ "0xf901a60182c70eb9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002000000000000000000000008000000000000000000000000000000000040000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000100000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000f89df89b947753cfad258efbc52a9a1452e42ffbce9be486cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000828d0386c1122e565f07dd28c7d1340ed5b3315a000000000000000000000000021849e99c31e3113a489d7eb0fd4d8c0edbe47afa00000000000000000000000000000000000000000000000000000000029b92700",
+ "0xf901a70183018e1cb9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002000000000000000000000008000000000000000000000000000000000040000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000008000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000002000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000020000000000000000f89df89b947753cfad258efbc52a9a1452e42ffbce9be486cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000828d0386c1122e565f07dd28c7d1340ed5b3315a000000000000000000000000069cda9d6cc6ce05982d0b4fdf9480f2991f39b5aa00000000000000000000000000000000000000000000000000000000029b92700"
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/debug_getRawTransaction.mdx b/docs-api/api/methods/debug_getRawTransaction.mdx
new file mode 100644
index 000000000..156bb7b5b
--- /dev/null
+++ b/docs-api/api/methods/debug_getRawTransaction.mdx
@@ -0,0 +1,82 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "debug_getRawTransaction"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # debug\_getRawTransaction
+
+
+
+ Returns an array of EIP-2718 binary-encoded transactions.
+
+
+ ## Parameters (by position)
+
+ **Transaction hash** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **EIP-2718 binary-encoded transaction** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ debug\_getRawTransaction example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x3a2fd1a5ea9ffee477f449be53a49398533d2c006a5815023920d1c397298df3"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xf8678084342770c182520894658bdf435d810c91414ec09147daa6db624063798203e880820a95a0af5fc351b9e457a31f37c84e5cd99dd3c5de60af3de33c6f4160177a2c786a60a0201da7a21046af55837330a2c52fc1543cd4d9ead00ddf178dd96935b607ff9b"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_exchangeCapabilities.mdx b/docs-api/api/methods/engine_exchangeCapabilities.mdx
new file mode 100644
index 000000000..d5297efd5
--- /dev/null
+++ b/docs-api/api/methods/engine_exchangeCapabilities.mdx
@@ -0,0 +1,79 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_exchangeCapabilities"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_exchangeCapabilities
+
+
+
+ Exchanges list of supported Engine API methods
+
+
+ ## Parameters (by position)
+
+ **Consensus client methods** `array` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Execution client methods** `array`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ engine\_exchangeCapabilities example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ [
+ "engine_exchangeTransitionConfigurationV1",
+ "engine_forkchoiceUpdatedV1",
+ "engine_getPayloadBodiesByHashV1",
+ "engine_getPayloadBodiesByRangeV1",
+ "engine_getPayloadV1",
+ "engine_newPayloadV1"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ "engine_getPayloadV1",
+ "engine_getPayloadV2",
+ "engine_executePayloadV1",
+ "engine_newPayloadV1",
+ "engine_newPayloadV2",
+ "engine_forkchoiceUpdatedV1",
+ "engine_forkchoiceUpdatedV2",
+ "engine_exchangeTransitionConfigurationV1",
+ "engine_getPayloadBodiesByHashV1",
+ "engine_getPayloadBodiesByRangeV1"
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_exchangeTransitionConfigurationV1.mdx b/docs-api/api/methods/engine_exchangeTransitionConfigurationV1.mdx
new file mode 100644
index 000000000..979560a0f
--- /dev/null
+++ b/docs-api/api/methods/engine_exchangeTransitionConfigurationV1.mdx
@@ -0,0 +1,149 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_exchangeTransitionConfigurationV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_exchangeTransitionConfigurationV1
+
+
+
+ Exchanges transition configuration
+
+
+ ## Parameters (by position)
+
+ **Consensus client configuration** `object` *required*
+
+ Transition configuration object
+
+ ***
+
+
+
+
+ Show `Consensus client configuration` object
+
+
+ #### `Consensus client configuration` fields
+
+ * **terminalTotalDifficulty** `string`
+
+ Terminal total difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **terminalBlockHash** `string`
+
+ Terminal block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **terminalBlockNumber** `string`
+
+ Terminal block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Execution client configuration** `object`
+
+ Transition configuration object
+
+ ***
+
+
+
+
+ Show `Execution client configuration` object
+
+
+ #### `Execution client configuration` fields
+
+ * **terminalTotalDifficulty** `string` *required*
+
+ Terminal total difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **terminalBlockHash** `string` *required*
+
+ Terminal block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **terminalBlockNumber** `string` *required*
+
+ Terminal block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ engine\_exchangeTransitionConfigurationV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "terminalTotalDifficulty": 0,
+ "terminalBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "terminalBlockNumber": "0x1"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "terminalTotalDifficulty": 0,
+ "terminalBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "terminalBlockNumber": "0x1"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_forkchoiceUpdatedV1.mdx b/docs-api/api/methods/engine_forkchoiceUpdatedV1.mdx
new file mode 100644
index 000000000..2223a1f1b
--- /dev/null
+++ b/docs-api/api/methods/engine_forkchoiceUpdatedV1.mdx
@@ -0,0 +1,257 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_forkchoiceUpdatedV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_forkchoiceUpdatedV1
+
+
+
+ Updates the forkchoice state
+
+
+ ## Parameters (by position)
+
+ **Forkchoice state** `object` *required*
+
+ Forkchoice state object V1
+
+ ***
+
+
+
+
+ Show `Forkchoice state` object
+
+
+ #### `Forkchoice state` fields
+
+ * **headBlockHash** `string`
+
+ Head block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **safeBlockHash** `string`
+
+ Safe block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **finalizedBlockHash** `string`
+
+ Finalized block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Payload attributes** `object`
+
+ Payload attributes object V1
+
+ ***
+
+
+
+
+ Show `Payload attributes` object
+
+
+ #### `Payload attributes` fields
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **suggestedFeeRecipient** `string`
+
+ Suggested fee recipient
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ Forkchoice updated response
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **payloadStatus** `object` *required*
+
+ Payload status
+
+ ***
+
+
+
+
+ Show `payloadStatus` object
+
+
+ #### `payloadStatus` fields
+
+ * **status** `string` *required*
+
+ Set of possible values is restricted to VALID, INVALID, SYNCING
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **payloadId** `string`
+
+ Payload id
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38002
+
+
+ * **code**
+
+ -38002
+ * **message**
+
+ Invalid forkchoice state
+
+
+
+
+ Error code: -38003
+
+
+ * **code**
+
+ -38003
+ * **message**
+
+ Invalid payload attributes
+
+
+
+
+ ## Examples
+
+
+
+ engine\_forkchoiceUpdatedV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ },
+ {
+ "timestamp": "0x5",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_forkchoiceUpdatedV2.mdx b/docs-api/api/methods/engine_forkchoiceUpdatedV2.mdx
new file mode 100644
index 000000000..94084117a
--- /dev/null
+++ b/docs-api/api/methods/engine_forkchoiceUpdatedV2.mdx
@@ -0,0 +1,323 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_forkchoiceUpdatedV2"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_forkchoiceUpdatedV2
+
+
+
+ Updates the forkchoice state
+
+
+ ## Parameters (by position)
+
+ **Forkchoice state** `object` *required*
+
+ Forkchoice state object V1
+
+ ***
+
+
+
+
+ Show `Forkchoice state` object
+
+
+ #### `Forkchoice state` fields
+
+ * **headBlockHash** `string`
+
+ Head block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **safeBlockHash** `string`
+
+ Safe block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **finalizedBlockHash** `string`
+
+ Finalized block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Payload attributes** `object`
+
+ Payload attributes object V2
+
+ ***
+
+
+
+
+ Show `Payload attributes` object
+
+
+ #### `Payload attributes` fields
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **suggestedFeeRecipient** `string`
+
+ Suggested fee recipient
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ Forkchoice updated response
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **payloadStatus** `object` *required*
+
+ Payload status
+
+ ***
+
+
+
+
+ Show `payloadStatus` object
+
+
+ #### `payloadStatus` fields
+
+ * **status** `string` *required*
+
+ Set of possible values is restricted to VALID, INVALID, SYNCING
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **payloadId** `string`
+
+ Payload id
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38002
+
+
+ * **code**
+
+ -38002
+ * **message**
+
+ Invalid forkchoice state
+
+
+
+
+ Error code: -38003
+
+
+ * **code**
+
+ -38003
+ * **message**
+
+ Invalid payload attributes
+
+
+
+
+ ## Examples
+
+
+
+ engine\_forkchoiceUpdatedV2 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ },
+ {
+ "timestamp": "0x64e7785b",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_forkchoiceUpdatedV3.mdx b/docs-api/api/methods/engine_forkchoiceUpdatedV3.mdx
new file mode 100644
index 000000000..f9cb515ac
--- /dev/null
+++ b/docs-api/api/methods/engine_forkchoiceUpdatedV3.mdx
@@ -0,0 +1,358 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_forkchoiceUpdatedV3"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_forkchoiceUpdatedV3
+
+
+
+ Updates the forkchoice state
+
+
+ ## Parameters (by position)
+
+ **Forkchoice state** `object` *required*
+
+ Forkchoice state object V1
+
+ ***
+
+
+
+
+ Show `Forkchoice state` object
+
+
+ #### `Forkchoice state` fields
+
+ * **headBlockHash** `string`
+
+ Head block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **safeBlockHash** `string`
+
+ Safe block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **finalizedBlockHash** `string`
+
+ Finalized block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Payload attributes** `object`
+
+ Payload attributes object V3
+
+ ***
+
+
+
+
+ Show `Payload attributes` object
+
+
+ #### `Payload attributes` fields
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **suggestedFeeRecipient** `string`
+
+ Suggested fee recipient
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **parentBeaconBlockRoot** `string`
+
+ Parent beacon block root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ Forkchoice updated response
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **payloadStatus** `object` *required*
+
+ Payload status
+
+ ***
+
+
+
+
+ Show `payloadStatus` object
+
+
+ #### `payloadStatus` fields
+
+ * **status** `string` *required*
+
+ Set of possible values is restricted to VALID, INVALID, SYNCING
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **payloadId** `string`
+
+ Payload id
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38002
+
+
+ * **code**
+
+ -38002
+ * **message**
+
+ Invalid forkchoice state
+
+
+
+
+ Error code: -38003
+
+
+ * **code**
+
+ -38003
+ * **message**
+
+ Invalid payload attributes
+
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Invalid params
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_forkchoiceUpdatedV3 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ },
+ {
+ "timestamp": "0x64e7785b",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "parentBeaconBlockRoot": "0x11f780a954bcba8889998e4e61deaae6388dd2391e9c810bd9c94962cc1eadc1"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getBlobsV1.mdx b/docs-api/api/methods/engine_getBlobsV1.mdx
new file mode 100644
index 000000000..bd6168cd1
--- /dev/null
+++ b/docs-api/api/methods/engine_getBlobsV1.mdx
@@ -0,0 +1,134 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getBlobsV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getBlobsV1
+
+
+
+ Fetches blobs from the blob pool
+
+
+ ## Parameters (by position)
+
+ **Blob versioned hashes** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ ## Result
+
+ **List of blobs and proofs** `array
`
+
+ Blob and proof object V1
+
+ ***
+
+
+
+
+ Show `List of blobs and proofs` object
+
+
+ #### `List of blobs and proofs` fields
+
+ * **blob** `string` *required*
+
+ Blob
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **proof** `string` *required*
+
+ proof
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38004
+
+
+ * **code**
+
+ -38004
+ * **message**
+
+ Too large request
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getBlobsV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "blob": "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18",
+ "proof": "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getBlobsV2.mdx b/docs-api/api/methods/engine_getBlobsV2.mdx
new file mode 100644
index 000000000..9b11c1be0
--- /dev/null
+++ b/docs-api/api/methods/engine_getBlobsV2.mdx
@@ -0,0 +1,250 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getBlobsV2"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getBlobsV2
+
+
+
+ Fetch blobs from the blob mempool
+
+
+ ## Parameters (by position)
+
+ **Blob versioned hashes** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ ## Result
+
+ **List of blobs and corresponding cell proofs** `array
`
+
+ Blob and proof object V2
+
+ ***
+
+
+
+
+ Show `List of blobs and corresponding cell proofs` object
+
+
+ #### `List of blobs and corresponding cell proofs` fields
+
+ * **blob** `string` *required*
+
+ Blob
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **proofs** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38004
+
+
+ * **code**
+
+ -38004
+ * **message**
+
+ Too large request
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getBlobsV2 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "blob": "0x1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe304962b3598a0adf33189fdfd9789feab1096ff40006900400000003fffffffc6092c566b31415be66313fbfb2f13fd56212dfe8000d200800000007fffffff84d37e37a3c8aae349928a7775c40a7a570681bcd001be41100000010ffffffef26821fa14f77df20ff1776e6aedf77458d12939700396c2300000022ffffffdd4d043f429eefbe41fe2eedcd5dbeee8b1a25272e0072d84600000045ffffffba261ad7321441ff3bc9240392b1dc0510e08caa5900e7548d0000008cffffff734c35ae642883fe779248072563b80a21c11954b201cea91a00000119fffffee6247db575276a7fa6f1563642bdce3c3e2e750561039ef63500000234fffffdcb48fb6aea4ed4ff4de2ac6c857b9c787c5cea0ac2073dec6a00000469fffffb961e092e81740c8153921f0102ed9718f3661671810e7d7cd5000008d4fffff72b3c125d02e81902a7243e0205db2e31e6cc2ce3021cfaf9aa000011a9ffffee56043712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab086e25654d29100c2a845807597517908938440273ef2eaa000046a9ffffb95610dc4aca9a5220185508b00eb2ea2f2112708804e7de5d5400008d53ffff72ac21b8959534a44030aa11601d65d45e4224e11009cfbcbaa800011aa7fffee55843712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab012f4af01a8f3837a750ba86d8dafa1033fc69c243ef48ea100046aa0fffb955f25e95e0351e706f4ea1750db1b5f42067f8d38487de91d420008d541fff72abe4bd2bc06a3ce0de9d42ea1b636be840cff1a7090fbd23a840011aa83ffee557c23b7d0ba1dfe9e8b75236b6463db3014aa773d1ef7a6190900235508ffdcaaf7476fa1743bfd3d16ea46d6c8c7b6602954ee7a3def4c32120046aa11ffb955ee1af19b954e5cfce5a153d58985cae84d561f5078de9a0825008d5424ff72abdb35e3372a9cb9f9cb42a7ab130b95d09aac3ea0f1bd34104a011aa849fee557b66bc66e553973f396854f5626172ba135587d41e37a68209402355093fdcaaf6c639f3557494a69e4d764d44424b56a655d3cdfc3f4d1e529046aa128fb955ed75350c35b68f756817b8fd0803fc8fcc566bc1b84e9a56e5308d54252f72abdad32b3df63a8512fbac3e5c8f875f0218579ba9306d34c80a711aa84a6ee557b596567bec750a25f7587cb91f0ebe0430af375260da699014e2355094ddcaaf6b256e1d63b77a741a2dc5d4bd9ce1eae10932ca8184d33a69d46aa129cb955ed6339d60523c5b105fd8580bfab929b841bd29bac2d9a68f13b8d54253a72abdac573ac0a478b620bfb0b017f5725370837a537585b34d1e2771aa84a74e557b58a736a6d3bed269aade2c926a640cc3869f6b10cb369a568ef355094eacaaf6b1372e73324b0afb8139258754477f698ce99a47563d34c75df6aa129d6955ed62571e0bef637c1f2def1771280e64b5997df8b46c4a69a8fbfd54253ae2abdac496fd3d69945e66875afb44cf9c2f4db2a6b58e9864d36c380aa84a75d557b58916bba05df622f53a32c2ec1eb7c47de4f82f42f099a6f2b0255094ebbaaf6b1216386646b9ac129fe2523abceeeede499b22aba1034dffa05aa129d7855ed6241531f21840be4d6b4170d7f95d439f12e1097d01d69c1980c54253af1abdac48132509bb4ee2c301ffae127239ed20a56cd71fc37d384d419a84a75e457b5890164a13769dc58603ff5c24e473da414ad9ae3f86fa709a8335094ebc8af6b12025554c7808f134337b84ac48671a65155e20a4cdc4e14f467a129d7925ed6240336bbe7adf48909273d5bb104d9aacaa67056f5b59c2b8cd04253af25bdac48056d77cf5be912124e7ab76209b355954ce0adeb6b385719a084a75e4b7b58900a6701f764a886a754c234ec0b5d0952946d9e32d370afd742094ebc97f6b120135a164776276fd1615130000eb070cd23877ec1a3e1615285129d7930ed624025403ee7992542257a6f262815573fc241bb3fdf44c2c4490b253af262dac480490c9027df20e6cdacab127822a4ddac7e22c21a86858a36174a75e4c6b589009119204fbe41cd9b595624f04549bb58fc4584350d0b146c2e94ebc98d6b12012232409f7c839b36b2ac49e08a9376b1f88b086a1a1628d85d29d7931ad624024464813ef907366d655893c11526ed63f11610d4342c51b0ba53af2635ac4804885514d69ee4cf5d827dedaa224438efdcd864046558a50575a75e4c6c5890090f363c05eaa0013dbcc8a17c3c7ed007b45d0a64c7b14baeec4ebc98d9b120121d6c780bd540027b799142f878fda00f68ba14c98f62975dd89d7931b36240243a65027057566779aaef4c18e9f19e46cc206bef1bc5305fb23af26367c48048735617395b8331760dab5e59cbd99ab592ed1a3a348a62636575e4c6d0890090e53840cb63dcc56ed32382db8fa99393208676d06614c66acbebc98da2120121c9708196c7b98adda64705b71f532726410ceda0cc298cd597d7931b44240243926d15863c49783e045ad196369cac747cc61d9d95531b4f30af26368948048723663d65256952fec0826954652fb710f4387d9727a63842625e4c6d1390090e45588d22f7a9088038d198d0c255cc49e31d3d8a4c4c7228c5bc98da2820121c893d2c9e9c287383296ff7c97ca1f6bbc0e6bd709598e5f58c7931b45140243911066b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a3804872210cd72bca4e931215596b75e274973ef8f37a7a50639b1e33e4c6d1470090e44219ae57949d26242ab2d6ebc4e92e7df1e6f4f4a0c7363c67c98da28e0121c884335caf293a4c485565add789d25cfbe3cde9e9418e6c78cf931b451c0243910866b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a380487221059851551bf93a40d637d861f3fd21789e3ea010339b3873f4c6d1471090e441f3f1c83505589cad293c134367602570e74165e037368b27f98da28e3121c883d0a4b5f4d8176185cf4489064e262d617946f1803e6d3090031b451c7243910791496be9b02ec30b9e89120c9c4c5ac2f28de3007cda612006368a38e487220f2292d7d3605d86173d1224193898b585e51bc600f9b4c2400c6d1471c90e441e4525afa6c0bb0c2e7a24483271316b0bca378c01f369848018da28e3921c883c830c84d84edc40887114f2e461c8b8973f333dc3b6d3234041b451c734391078f61909b09db88110e229e5c8c391712e7e667b876da646808368a38e687220f1e4f338ec08d72a4d41202e110688c4dca7911cceab4ca74116d1471ce0e441e3b2a79762df147cc5ff0cbea18c776c38f9e65f5d269968c23da28e39d1c883c7554f2ec5be28f98bfe197d4318eed871f3ccbeba4d32d1847b451c73a391078ea35f831649b81b4378ff5d05b1439363925da3346a65bd49068a38e757220f1d36bf062c93703686f1feba0b628726c724bb4668d4cb7a920d1471ceae441e3a663f31e3f446953960c9d6964474300df43ab29179970f642a28e39d6c883c74b53f8952b5f3529e3e600fac084e429b93398ae2c32e39086451c73ae91078e953403830394ccd67f98c81d7900267b6d1373b85565c8c50d8a38e75e220f1d29680706072999acff31903af2004cf6da26e770aacb918a1b1471cebc441e3a525c2064bb2995dcb62fe69ddbf6f815aefa113d529724b83728e39d79883c74a344532223298e3c242c9363afe44e5358a064d6a22e4b146f51c73af41078e94514b89cf3297efb0025ecef57befaceabed0c09415c97ccdfa38e75e920f1d289297139e652fdf6004bd9deaf7df59d57da181282b92f99bf471cebd241e3a51252e273cca5fbec0097b3bd5efbeb3aafb4302505725f337e8e39d7a483c74a2431d74046225a5ab8fc2da2b5ee349d5a14a2a607e4c00afe1c73af4a078e944763ae808c44b4b571f85b456bdc693ab429454c0fc98015fc38e75e940f1d288e536f59c55fcbed9bbd7cb2cfaf309d62feccf41c9301cff971cebd291e3a511b32f10c3795fa5def47bf8d9754bf62c0a9dc4436260543f3e39d7a533c74a23565e2186f2bf4bbde8f7f1b2ea97ec58153b8886c4c0a87e7c73af4a678e9446a57d6898b2e4bfa74ebc45e55495bb2fd53b36cd59816b3d08e75e94df1d288d33bbf6bc332fa77a1a44ee4a289158df553a935a8302f0ba21cebd29ce3a511a5039130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920e44c0ccf15dc7ec558fc4f422250f954e531d35817eed14e75e94eb1d288d241c898199e2bb8fd8ab1f89e8444a1f2a9ca63a6b02fdda29cebd29d63a511a4839130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920705e657bec3f017d25c2773a18af214f91742f5517f0754f75e94eb2d288d23f6ccf23a4aee085b2184b166c27bc6a99cf2abaa72fe28e9febd29d66a511a47d65b09ff634238e1bfd5c54d045d6fd2e4a97d14b5fc6c140d7a53ace4a2348f9577398993ea99eefc77ed198820c22574171fe93bf8f2682af4a759d944691f13af989df53b5c0975bc3cb28fa766ca92f2659247f1ff1065e94eb3c288d23e102056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f820815b1adf7380f9a1136f927ad2c05342a3c3917f9061836f4a759e544691f04102b635bee701f34226df24f5a580a685478722ff20c306de94eb3ca88d23e082056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f8200d6d738c49e37c58e035ba72c91e7b3d5005ed7c906327704a759e554691f03f1adae71893c6f8b1c06b74e5923cf67aa00bdaf920c64ee094eb3caa8d23e07e35b5ce31278df16380d6e9cb2479ecf54017b5f2418c9dc129d679551a47c0fc6b6b9c624f1be2c701add39648f3d9ea802f6be483193b8253acf2aa348f81f862e99171749a4845d021cf248845dbcfaca133c606341b05a759e555691f03ef51e57b8fbf9713436d09c64106e9df9a0584c3890c69da0c4eb3caabd23e07dd2fdd4fcc5590a93ea6d9b47a0431e72eb74be30f18d558199d679558a47c0fb95fba9f98ab21527d4db368f40863ce5d6e97c61e31aab0333acf2ab148f81f724b8797de2ca527b2682cf9e00725c4b58971e83963570467759e556391f03ee3232188692facd21c9d201bb804a9b165bf262c6fc6afaccfeb3caac823e07dc5464310d25f59a4393a403770095362cb7e4c58df8d5f599fd679559047c0fb8a18987a519515cb2a414696d80904ed91a8db0dbc1ac05740acf2ab218f81f7133130f4a32a2b9654828d2db01209db2351b61b783580ae8159e556431f03ee266261e94654572ca9051a5b602413b646a36c36f06b015d02b3caac863e07dc4c50d62b397f10dc09d6fadeb83e859487f31ac9ddd6045e066795590d7c0fb8972dbeaf1fd4843acb7abbe5687369510a9277efb8ac0a600dcf2ab21bf81f712d5b7d5e3fa9087596f577cad0e6d2a21524efdf715814c01b9e556437f03ee25a430d152c28736de5b7b5bd99c4036c24f6221adfb02b24383caac870e07dc4b3122c830527495e833c31a32b7e650044988691bc6057ec71795590e2c0fb89652459060a4e92bd0678634656fcca0089310d2378c0afd8e2f2ab21c581f712ca48b20c149d257a0cf0c68cadf9940112621a46f1815fb1c5e556438b03ee25941d7670d610ad76d1ae534153e9862a1f7076e9e002c1078ccaac871707dc4b273aece1ac215aeda35ca682a7d30c543ee0edd3c005820f1995590e2e0fb8964e01ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee2593607b07014646177fa184cb51e71db41e1b8780df42c1708d0aac871747dc4b26c0f60e028c8c2eff430996a3ce3b683c370f01be8582e11a15590e2e8fb8964d81ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee259360071959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf0e32b3e638f404b2a322f3be28248c2c6786767f82e46217590e2e91b8964d7e1c6567cc71e809654645e77c50491858cf0cecff05c8c42eb21c5d23712c9afc38cacf98e3d012ca8c8bcef8a09230b19e19d9fe0b91885d6438ba46e25935f871959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf06f3d971065a2cde1fef563da78a6eac124a9c3f52e47c57690e2e91c8964d7df6a8d86cda1a81e7bcab0eface7abfd7cf595e3e75c912eee21c5d23a12c9afbd612d664819b2bfaf62280751c5b622f4976e23cbb92401dd438ba47525935f794e6d253d09c802169116369b81ca6de3db1ea3947249a7bb871748eb4b26bef128eca326e9f286e4eef2952ef9f303c2627fa325e494f3780e2e91d7964d7de151d9464dd3e50dc9dde52a5df3e60784c4ff464bc929e6f01c5d23af2c9afbc22fc4e5487e2c9e4b88907cb3de2a37043640e894925571e138ba475f5935f7835f89ca90fc593c971120f967bc546e086c81d12924aae3c271748ebeb26bef064b25edcecf14fbe5ef081ac76f07040b8545fe4f49576b85e2e91d7e64d7de0b225e344a748c7a83aad65d86d46c3011b6ce589b92b07b0cc5d23afdc9afbc1544bc6894e918f50755acbb0da8d860236d9cb1372560f6198ba475fb935f782a158b29d6a8946cc6781f9e13480ee841877bbe6b4ac390341748ebf826bef0532b1653ad5128d98cf03f3c26901dd0830ef77cd6958720682e91d7f04d7de0a6562ca75aa251b319e07e784d203ba1061deef9ad2b0e40d05d23afe09afbc14c386ba7621b05e8eb8dc3189236d56a06e8204f57561e25a1ba475fc235f7829770d74ec4360bd1d71b8631246daad40dd0409eaeac3c4b43748ebf846bef052e6dc0f635427a266603d28a40d1b3d0164cc3995a587a3a87e91d7f09d7de0a5b679445175b56cf83d46b3c7999c5c82745c98eb1b0f61910d23afe14afbc14b55b3ae2db8d1021bf759ca0eb29e9b84937d5796061edd622a475fc2a5f78296942881e63f082c636b7ff69ce4a31988d1bed4ebdc3dd504648ebf855bef052d111229574b7680f253cc4fb948ac15914e41cf97887bc448d91d7f0ac7de0a5a122452ae96ed01e4a7989f7291582b229c839f2f10f78891b23afe158fbc14b42448a55d2dda03c94f313ee522b0564539073e5e21ef11236475fc2b1f78296841527045291a2fbe1b2ee049c4c68f0a1cd2a27c13de3c86d8ebf8564ef052d072a4e08a52345f7c365dc093898d1e1439a544f827bc790db1d7f0ac9de0a5a0e549c114a468bef86cbb8127131a3c28734a89f04f78f21b63afe1593bc14b41c354a7b41637a61c564364cda59a5ad0915939a06ef1fe76d75fc2b28782968376a94f682c6f4c38ac86c99b4b34b5a122b27340dde3fcedaebf85650f052d06e613c45b2644c09cd5d9f5b615cf4dc1f0290c418bc8141b6d7f0aca2e0a5a0db4e8ae4119efa96528804debab047e038b163e42e7904276eafe15946c14b41b5292820d01457af5cdccfe56d56ede86c0f0a2459f209f2de5fc2b28e82968369525041a028af5eb9b99fcadaaddbd0d81e1448b3e413e5bcbf85651d052d06d230b2dbed27c1402b4005bdad5215c9aae86aed64c8296f7a7f0aca3b0a5a0da36165b7da4f828056800b7b5aa42b9355d0d5dac99052def4fe15947614b41b464eddc86175678364ccdd1ead3eb54ea64dee119020a761eafc2b28ed2968368b29cde96fc13189816680655273c8c547481e7f1d415067d6f85651db52d06d15539bd2df82631302cd00caa4e7918a8e903cfe3a82a0cfadf0aca3b6a5a0da2a3349fe6bdb28a8bd66c7bd41c5813d17ccbc58720543435ce159476e4b41b4536693fcd7b651517acd8f7a838b027a2f9978b0e40a8686b9c2b28edc968368a6593a525c430525ad67e51cff0c631c59df33bdc5150eb17485651dba2d06d14b3e86fd655c6cce129c9061f60f2460ae6aa9d7872a1f06ea0aca3b755a0da295092053778f3c1edd05e6ebe414a6e95781960b0b543fb1d5159476ebb41b45291240a6ef1e783dba0bcdd7c8294dd2af032c1616a87f63aa2b28edd768368a5224814dde3cf07b74179baf90529ba55e06582c2d50fec7545651dbaed06d14a449029bbc79e0f6e82f375f20a5374abc0cb0585aa1fd8ea8aca3b75da0da29481e179025ca2470882b34e63940ccbd72c5a30cb243fcc15259476ebc41b4528f3c2f204b9448e1105669cc7281997ae58b46196487f982a4b28edd788368a51e04709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b08e13287fde889b0f33381b9f3223b8b859d1d8c1fe95294ca3b75e40da2947611c2650ffbd11361e6670373e64477170b3a3b183fd2a5299476ebc81b4528ec2384ca1ff7a226c3ccce06e7cc88ee2e167476307fa54a5328edd790368a51d84709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b01a25812cb4eb1dc6fffe43972881e0b3061434befe96cd4da3b75e41da29475f344b025969d63b8dfffc872e5103c1660c28697dfd2d9a9b476ebc83b4528ebe689604b2d3ac771bfff90e5ca20782cc1850d2fbfa5b35368edd790768a51d7c5d3e62127dbb70efccb844b13a6d2d92dce401f4f4b80e6e1dbaf20fd14a3af7468f1cd1d1d964976636b15a6b388320660a5fe6e971c0dd3b75e420a29475ed193092507a154be699338aaccccf2e3b78571bcad2e525bb76ebc8424528ebd9326124a0f42a97cd32671559999e5c76f0ae3795a5ca4b76edd790848a51d7b264c24941e8552f9a64ce2ab3333cb8ede15c6f2b4b9496eddbaf210914a3af645596eb30a70ce1ec96627d5e5cd799d66efb3a53972ad1dcb75e421329475ec737402f0e247c4690f98b22b4b00d5ba78a38d0a42e5747ba6ebc8427528ebd8d6e805e1c48f88d21f3164569601ab74f1471a1485cae8f74dd79084ea51d7b1a691314e568539cfbb2f2b2cab6939698d5259e8db95ec2eabaf2109e4a3af6335e388277a709bcaf32ab8d8d6385552c568d991872bf29d675e4213d9475ec6548835d9c2475fc16321d4312bd68d253595d8e2de57ff7adebc8427c28ebd8c91d1913e51f4e7ae43100ae1d712fcca15efd7858cb01935cd79084f951d7b1913a3227ca3e9cf5c862015c3ae25f9942bdfaf0b1960326b9af2109f2a3af63220076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218002ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe0aea6801cb432d22569a56cc4ee2a08b91fef0a41fcc617d084f99217b190bfc15d4d00396865a44ad34ad989dc5411723fde1483f98c2fa109f3242f63217f82ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe03ab8d8c98a9554dd366b94bce48830b3cc31663efcc7bbd184f99218b190bfbf01840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf40c2051ff5c696391ccea8b8dfb744b12252943d7cc88dd204f992193190bfbe81840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf404e1778a29cf8bbd49b6ee0d7ada2d91cfed69979c88f7605f992193290bfbe7f284149f21053fa6103a3e9a751a3da34a9ef8ef09120900cf3243266217f7cfd508293e420a7f4c20747d34ea347b46953df1de122412019e64864cc42fef9fa2d17807517b26c3bdb55ce953ced90cd540097bf4483e434cc90c99985fdf3f35a2f00ea2f64d877b6ab9d2a79db219aa8012f7e8907c869992193330bfbe7e640705a81352c33a73a1d624cea146b2ffc44bafa121134d43243266717f7cfcb0cf30daf40baea064100ec91ca86fe5aa4cbd1f124240da964864ccf2fef9f9519e61b5e8175d40c8201d923950dfcb54997a3e248481b52c90c999e5fdf3f2a33cc36bd02eba8190403b2472a1bf96a932f47c4909036a59219333cbfbe7e5467986d7a05d750320807648e5437f2d5265e8f8921206d4b243266797f7cfca85b4333a0e211231bdcd4f1149ece0da4f8ff7b0f42427e974864ccf3fef9f94f4298bfee9a84c8ef86700a2133fa43449e41521b8486a12f90c999e8fdf3f29d1143d88a0b6c1496d9a63c3a5e52ae83e8c50034090ee660219333d2fbe7e5392287b11416d8292db34c7874bca55d07d18a0068121dccc0432667a5f7cfca72450f62282db0525b6698f0e9794aba0fa31400d0243b9980864ccf4bef9f94e416311cfd31c3276e99f809cae8f39c19f26a5d9d4878d7020c999e98df3f29c72c6239fa63864edd33f01395d1e73833e4d4bb3a90f1ae0419333d31be7e538e58c473f4c70c9dba67e0272ba3ce7067c9a9767521e35c0832667a637cfca71c3d9b4096647bbe2c9c86764f3dfb08ca3f9548e743c85c1164ccf4c7f9f94e370748d9d99f59ff1105d314967254398f2b6cedcb87925c23c999e990f3f29c6d0e91b3b33eb3fe220ba6292ce4a8731e56d9db970f24b8479333d321e7e538da1d2367667d67fc44174c5259c950e63cadb3b72e1e49708f2667a643cfca71b43a46ceccfacff8882e98a4b392a1cc795b676e5c3c92e11e4ccf4c879f94e368009ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367809ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367802c089f78d8d64ae1c4378713981f155dbd7b11762767e19a9e99104029c6ceff58113ef1b1ac95c3886f0e27303e2abb7af622ec4ecfc3353d322080538d9dfe3c34d69039bbae3edda4444656da7d71a22ea1d59da12a6b7a644101a71b3bfb047c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f508f80b9a93b3be6b101d6109482645bbe13f3f507687f1afe99104089c6cefea11f0173527677cd6203ac212904c8b77c27e7ea0ed0fe35fd322081138d9dfd423e02e6a4ecef9ac40758425209916ef84fcfd41da1fc6bfa644102271b3bfa847c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f501b931256119e6968ce9c388c78c283b8c03651046880beff9910408ac6cefe9f372624ac233cd2d19d387118f1850771806ca208d1017dff322081158d9dfd3e6e4c49584679a5a33a70e231e30a0ee300d94411a202fbfe6441022b1b3bfa7c68aaeb5d6355cdfe41a7ec5bbc7245c0adf4e42044079bfdc88204573677f4f75d682f679d0e1eb4501600af6f42b37c082c243d8810dbfc910408af6cefe9ed46e2b77c107ec0206cf22956d4e38ef2bc9aa47810235bfa2208115fd9dfd3d919d7c7a4f76002f8a6aa7aa5a02545e02577a4ed20485bf5441022c0b3bfa7b133af8f49eec005f14d54f54b404a8bc04aef49da4090b7ea88204581677f4f62675f1e93dd800be29aa9ea968095178095de93b481216fd510408b02cefe9ec45ad095d491629a7d0219fd24f78856fbd7ff8366024483ab208116069dfd3d8741b38455f927b7b1d0fa2241e56ed5f25c4162c9048aab5741022c0e3bfa7b0d0f796158c8b1f21b6eba6c7bc13bd3df64c5218f0916faaf8204581d77f4f6191ef2c2b19163e436dd74d8f78277a7bec98a431e122df55f0408b03aefe9ec323de5856322c7c86dbae9b1ef04ef4f7d9314863c245beabe08116075dfd3d86407dd63731bf2139342998bd6003cc6f5d26b687548b9797d1022c0ecbfa7b0c70fbac6e637e42726853317ac00798deba4d6d0ea9172f2fa204581d97f4f618e1f758dcc6fc84e4d0a662f5800f31bd749ada1d522e5e5f4408b03b2fe9ec31c3eeb1b98df909c9a14cc5eb001e637ae935b43aa45cbcbe881160765fd3d863809e88fde9583bbebf65ee557fa2a9757d2f8e3518b993bd2022c0eccfa7b0c6f13d11fbd2b0777d7ecbdcaaff4552eafa5f1c6a3173277a404581d99f4f618de27a23f7a560eefafd97b955fe8aa5d5f4be38d462e64ef4808b03b33e9ec31bc4f447ef4ac1ddf5fb2f72abfd154babe97c71a8c5cc9de9011607667d3d863782a9b56962e9e417732b47d7799079d77dbd09115b995612122c0ecd0a7b0c6ef5536ad2c5d3c82ee6568faef320f3aefb7a1222b732ac2424581d9a14f618dde367fb30590db889497981dd65a7c9dda1b84a053e65728858b03b3439ec31bbb6cff660b21b711292f303bacb4f93bb4370940a7ccae510b160766873d863776661124c319d0a50a2b269f5160509f631a54dd4c995e46172c0ecd0f7b0c6eeb5834a2330a03cccc2313669ab6ff66c0e0ec169632be302f581d9a1ff618ddd53c7b9d12ea6a1c5012ecf52d645cf57c6e1a8929657e045fb03b3440ec31bba9050992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d86377510a1325a5566d76afe54024a57e3025e710eedc9f95fb5980c0ecd105b0c6eea214264b4aacdaed5fca80494afc604bce21ddb93f2bf6b30181d9a20b618ddd44284c969559b5dabf95009295f8c0979c43bb727e57ed660303b34416c31bba8850992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d863775102d44b3023d39edb620c8724fd960866bbb3025f65fb73c0d0ecd105c0c6eea1f5a8966047a73db6c4190e49fb2c10cd776604becbf6e781a1d9a20b818ddd43e412524b5cb4a39904fe7f1375be041a99902f3d67ede94353b34417131bba87b0e5ca2186cf6f5d86c960a66ae1eab4dde4843a9fdbecc6b766882e3637750f51cb94430d9edebb0d92c14cd5c3d569bbc908753fb7d98d6ecd105c6c6eea1ea39728861b3dbd761b258299ab87aad3779210ea7f6fb31add9a20b8d8ddd43d472e510c367b7aec364b0533570f55a6ef2421d4fedf6635bb344171b1bba87a871dc7a33a5d1e03e9626ce62d848dcd890c6969cdbee6ab866882e3737750f4f6fcb4d1422064334f913c4bda6efe1abcdcf8936b7de7971cd105c6f6eea1e9d6ba8f2d51a6f0921beedb173443deb5247e16e6a6fbe96e49a20b8dfddd43d3963643e570b4094fb4aa18ade7ed9fe9f3c0538d1df7ed1ca344171c0bba87a7152dad55aece3acae62093db4f4122539244ccda0beff47956882e3827750f4e131c80362b029dc1490d8a361de82726cf4dbf73e7e00332bd105c705eea1e9c1639006c56053b82921b146c3bd04e4d9e9b7ee7cfc006657a20b8e0bdd43d382533266379709f30a1028b57f7067f1ae7fb238f6f80270b044171c18ba87a7033277251c047668cbed1792f6d72e0b57aba6cdeaf0068561882e3832750f4e0564ee4a3808ecd197da2f25edae5c16af574d9bd5e00d0ac3105c7064ea1e9c0a55eeed1ce83c25e7812473d3531655595add93a8c01bb98720b8e0cad43d381337f032e6a6dace86cf0f0f9e9c8ad2ad61fd834e8039170f4171c196a87a70256fe065cd4db59d0d9e1e1f3d3915a55ac3fb069d00722e1e82e3832d50f4e04a6bd3244771cdbcd309026672688972b03438693700e6003e05c7065ba1e9c09363b8a13bb9fdfc5ddecaf4dcc7710d5b14b32e6b01cda47d0b8e0cb843d3812553839b244a5e7b738a5c11b1854042b0d5a8b8d3039cecfb171c197187a7024933198ef56b1f799ee17e4b5b00dead5c5793cda3073b7df72e3832e40f4e049166331dead63ef33dc2fc96b601bd5ab8af279b460e76fbee5c7065c81e9c09225878948282e0693352bf5563f9d8dd6c0a9192891cef9bddb8e0cb913d3812433d0381b1dc23551e7244d2bfea0fe2d2c165810f39e0dbbc71c197237a70248506195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e049090c32b8211d5259e9629f9aef94fbdb405e1abc36e786b6f3c7065c8fe9c09212186570423aa4b3d2c53f35df29f7b680bc35786dcf0d6de78e0cb91fd381242430cae084754967a58a7e6bbe53ef6d01786af0db9e1adbcf1c19723fa70248486195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e0490904f3ddabeab88214df6bfd6f1461bdc008dee1f6b786d133d7065c8ff9c09211f2a8e0e2a2d72c553ba45d5da8295dffbc81e9ad3f0dbca7be0cb92003812423d551c1c545ae58aa7748babb5052bbff7903d35a7e1b794f7c19724007024847a364a91558c2d9806b5dd7f6200b5a7e9ccbcc74cc370cdf0832e4801e04908f36c9522ab185b300d6bbafec4016b4fd399798e9986e19be1065c9003c09211e6653c9e030718e2d2a43c257ff934c7a1df3579300dc4dbc30cb92008812423cb568b94b2e494485d153e72f7e8c7b73e6aad4e5d1b8b5b871972401202484795392982129f8b1371f7430de7c7ed9677819cf8b737185b0f32e4802504908f29725304253f1626e3ee861bcf8fdb2cef0339f16e6e30b61e65c9004a09211e5270b860f7548ed07fa9d25f97161481d8b2b63ed9dc63103dcb92009512423ca36d831a9b7f8023b7206ae72622872bac11aed9b0b8c7c47c9724012b2484794567188de3d562ca260d9bf6443b6c7f52cfa00f5e71912cfa2e4802574908f2895a43747481281703e7fe14806d3726a04b827ab9e323fdf55c9004af9211e51140994195d8b2b0bf9cc250f8d0cc753b43475170c6499febb92009602423ca210d44dbd887c7e437064ac9e997f7127132d0fede8c94e3d8724012c1484794411a89b7b10f8fc86e0c9593d32fee24e265a1fdbd1929c7b0e4802582908f288235136f621f1f90dc192b27a65fdc49c4cb43fb7a32538f61c9004b05211e51046a26dec43e3f21b832564f4cbfb893899687f6f464a71ec39200960a423ca2086060163552e0c6283172c69175cf4f0dd95249e5c94fe18824012c158479440f4cd285177c240f082fabb51ae1fcc6165ee6efc892a167114802582c08f2881d25b762dbceaaa0c82c1d922dba57b4276a103b8e254472239004b05911e510394b6ec5b79d554190583b245b74af684ed420771c4a88e447200960b223ca207222efe41c110d05d87d3c70aedfbcf89854834a3595136c8f4012c165479440e345dfc838221a0bb0fa78e15dbf79f130a906946b2a26d91e802582ca8f2881c617d1e91d1a969a19c1b7eab375520a5bfe4f84d3544f563e004b05961e51038b2fa3d23a352d3433836fd566eaa414b7fc9f09a6a89eac7c00960b2c3ca207165f47a4746a5a686706dfaacdd548296ff93e134d513d58f8012c165879440e2c4aa1a195ab175385da857d93a0ee7ada9ebe8297a27c55f102582cb1f2881c5721559bd82c9129c381d1231f383b1dafe9bf612c44fa4fe304b05964e51038ad42ab37b05922538703a2463e70763b5fd37ec25889f49fc60960b2c9ca20715a1168c80d88a729c5d40ab474d74a9eba533fe0ae13eae38d12c165949440e2b322d1901b114e538ba81568e9ae953d74a67fc15c27d5c71a2582cb292881c56645a32036229ca717502ad1d35d2a7ae94cff82b84fab8e344b05965251038acc175899191b9bd0e66d1bcb9eb0b31dcd4641616d9f58c069960b2ca5a20715972eb132323737a1ccda37973d61663b9a8c82c2db3eb180d32c16594b440e2b2e5d6264646e6f4399b46f2e7ac2cc7735190585b67d6301a6582cb296881c565c46d72175b34109eb35a484ed7bf71664de4d6769fac7a74db059652e1038acb719c09b983ce4968e380f31d2ee4c54c468dd2ad0f590f29c60b2ca5d2071596d3381373079c92d1c701e63a5dc98a988d1ba55a1eb21e538c16594ba40e2b2da67026e60f3925a38e03cc74bb9315311a374ab43d643ca7182cb297481c565b45a17356ebd8737298d3fb68f68c0ce1df32bb284ac8938e4059652ea038acb674040c38a5170f10ae7459516c7dfc4369299c106591415c90b2ca5d5071596cd0c93dfc1794464cd9b515225861db067d175de09b229cf9316594bab0e2b2d991927bf82f288c99b36a2a44b0c3b60cfa2ebbc1364539f262cb297561c565b32324f7f05e51193366d4548961876c19f45d77826c8a73e4c59652eac38acb664649efe0bca23266cda8a912c30ed833e8baef04d914e7c98b2ca5d5871596cc8555054c46aa8cf9181db4a5058392e77c3a03c98229e9d326594bab1e2b2d98f36b30235abb421dad07cbc98a6d084ea3382d52d453ede65cb297564c565b31d6d66046b576843b5a0f979314da109d46705aa5a8a7dbccb9652eac98acb663a66de618385330a230eb91a5a91a03ba37a4db0b214fd1d982ca5d5941596cc7359cf1bb3e0c896fdea385cad199e9f41a0ddbd6129fbdf31594bab292b2d98e53fb0901497f3b0b3a136e152299b667dedfdd6bf53f96263b2975653565b31c90b7378d60649e41f0f33ea9c4994f4f6883e097ba7f468c8652eaca7acb6639116e6f1ac0c93c83e1e67d5389329e9ed107c12f74fe8d190ca5d594f596cc7222dcde3581927907c3ccfaa712653d3da20f825ee9fd1a32194bab29eb2d98e445b9bc6b0324f20f8799f54e24ca7a7b441f04bdd3fa346432975653d65b31c884349e60d3b00c4a8c004d1bc8fad77633022f3b77f48308752eaca7bcb66390f12a624c74c640c094ccfcb7115b916c10c88436bfe92050fa5d594f896cc721d254c498e98c81812999f96e22b722d82191086d7fd240a1f4bab29f12d98e43a4a98931d31903025333f2dc456e45b0432210daffa48143e975653e25b31c87421437ee73982e30233448380a426de031084775cf491cc7e2eaca7c5b66390e74286fdce7305c60466890701484dbc062108eeb9e92398fc5d594f8b6cc721ce11205449bc6e0ec099d835fa86f9a006ee543970d248d5f9bab29f17d98e439b2240a89378dc1d8133b06bf50df3400ddca872e1a491abf375653e2fb31c873644815126f1b83b026760d7ea1be6801bb950e5c3492357e6eaca7c5f66390e6c1514fafab9d2f8bc9b87d7cc2e2b28321ee42783924853ced594f8bfcc721cd72a29f5f573a5f179370faf985c5650643dc84f072490a79dab29f17f98e439ae5453ebeae74be2f26e1f5f30b8aca0c87b909e0e49214f3b5653e2ff31c8735c34ba3082a4fa489ca904e65967b7698ba363981992444277aca7c5ff6390e6b76974610549f491395209ccb2cf6ed31746c73033248884ef594f8bfec721cd6e5efb1ab76a4ba52a70d9c15d953bce2939d0bc634912addfb29f17fe8e439adb4a088e1baaf9cd0cae79aab320d5c44d1fe3d4c39226ffc0653e2ffe1c8735b5202374e42c561cd129b97d5e3809b094ec0a0584244fa381ca7c5ffd390e6b694046e9c858ac39a25372fabc70136129d8140b08489f470394f8bffa721cd6d20ca02c3d87baf5fc73ac1d70d684ea4e5c6a720d9140320829f17ff5e439ada31940587b0f75ebf8e7583ae1ad09d49cb8d4e41b2280641053e2ffebc8735b463280b0f61eebd7f1ceb075c35a13a93971a9c8364500c820a7c5ffd790e6b68c650161ec3dd7afe39d60eb86b4275272e353906c8a0190414f8bffaf21cd6d1856151c855211e27f0787ff055eaccce072e97cd61404c4839f17ff5f439ada2f383c91b77a8647b5dbd62602b3b7c1bb921555a9280b2d083e2ffebf8735b45d7079236ef50c8f6bb7ac4c05676f8377242aab5250165a107c5ffd7f0e6b68ba6d049f8ac07ba18f3c1ec002c53d2ee8f497b2a1a02e5821f8bffaff1cd6d173661b97c25759c5d64503a7fd80d885cc9571c140405e5444f17ff5ff39ada2e55849883185160e6456cd77f2f80f3393d725de7d80be4c8ae2ffebff735b45c93ca5690fe08e9f807a6117dde67c8f225a8e18f8017e3d16c5ffd7ffe6b68b91055d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d17210aba55992eff83718310af6786ae8c7ec2bd1bda05fc3c5d17ff60019ada2e421574ab325dff06e306215ecf0d5d18fd857a37b40bf878ba2ffec00335b45c842ae95664bbfe0dc60c42bd9e1aba31fb0af46f6817f0f1745ffd80066b68b90855d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d1721037b7b23fc65ab9cffdd11e706146efe6d814199d5fc569d27ff6001aada2e41f6f6f647f8cb5739ffba23ce0c28ddfcdb028333abf8ad3a4ffec00355b45c83e6af121abefcd69f7c40aa1b97b79e7960c92c2727f174b4affd8006bb68b907b61f49c04b5fd56a754db6b6aed51f726c567e0e1fe303a96ffb000d86d1720f54ffb90b6425d3006767cfecdd102164837121dc0fc62192eff6001b1da2e41e92c097a195b1ce2c4b9c025939862548b1a66977ef8c5d65efec00364b45c83d15812f432b639c58973804b2730c4a91634cd2efdf18bacbdfd8006c968b907a23c38411242d60dcab3c6be4657e77a2715dcb9f8e318fd7cfb000d93d1720f430482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e850905b5a2b81d3c9a68a749094c5a3891aff79fdd8c673df5ec00365145c83d0a120b6b45703a7934d14e921298b471235fef3fbb18ce7bebd8006ca28b907a142416d68ae074f269a29d24253168e246bfde7f76319cf7d7b000d9451720f428482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e8501c6db2d858364c5e573ab88cbc01b115abbc59d5c675835fc00365155c83d09f38db65b0b06c98bcae7571197803622b5778b3ab8ceb06bf8006ca2ab907a13e71b6cb6160d931795ceae232f006c456aef1675719d60d7f000d9455720f427c6f7fef6f9814e5aa869bec5dd66bb0a80a252aab33adbeff001b28abe41e84f76b12378c068c4e0cd9fe00b3a335894ac08cb153675d21ff00365158c83d09ed6236c7c4e37b1ed180c2295f3cc93a902d5bbea3cebbe7ff006ca2b2907a13d9507fe8369d58c05ace4a7ab66ff09d1b06f9d9449d7973ff00d9456620f427b12d12291a1114036d695b1d64d63f6230ba360e863af48bff01b28acd41e84f615a245234222806dad2b63ac9ac7ec461746c1d0c75e917fe0365159a83d09ec2405afd151ab2906d72329d8b4f5bb0bd951a9615ebd3d3fd06ca2b3607a13d830cc852d70bc7a392b12b630e95158975d6778828d7a94bfb0d94566d0f427b051990a5ae178f47256256c61d2a2b12ebacef1051af5297f61b28acda1e84f60a33214b5c2f1e8e4ac4ad8c3a545625d759de20a35ea52fec365159b43d09ec14664296b85e3d1c95895b1874a8ac4baeb3bc4146bd4a5fd86ca2b3687a13d8285897861d92dcbbe2df7c58e147b6bf5813bade8a7a9663b1d94566d1f427b04f3d4164e7fc1bfa7d8bbed9ba85cba6aad3b81911f52e6b64b28acda4e84f609d0695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec1390d2a44f99d34ef65c887b6da03eaeaa0a7651c41d4bcf594ca2b3695a13d82721a5489f33a69decb910f6db407d5d5414eca3883a979eb2994566d2b427b04e434a913e674d3bd97221edb680fabaa829d94710752f3d65328acda5684f609c8695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec13905eb6a846a9b1791455419598350cd2052294201a4bd0fd4da2b3695b13d8271f497fa93a29c574e0774953286077cc04f16a9c3197a39e9c4566d2b727b04e3d1f11ab2129ed6c78bb58ce48b74dc0048f1794602f48e1398acda56f4f609c793e23564253dad8f176b19c916e9b80091e2f28c05e91c273159b4ade9ec138f2085905317e18349aba29611ad395280ce8a0ad7dbd2528e72b3695be3d8271e310b20a62fc3069357452c235a72a5019d1415afb7a4a51ce566d2b7c7b04e3c6216414c5f860d26ae8a5846b4e54a033a282b5f6f494a39cacda56f8f609c78c42c8298bf0c1a4d5d14b08d69ca9406745056bede929473959b4adf1ec138f1811a2abc4b7e5cc636f5c39a52fb0a8c9364d33d8d2543273b3695be4d8271e2f234557896fcb98c6deb8734a5f6151926c9a67b1a4a864e766d2b7c9b04e3c5e468aaf12df97318dbd70e694bec2a324d934cf634950c9cecda56f93609c78bc1927b6d29590e5d347a7f52173e36e445eabfac392a3379e9b4adf27c138f177324f6da52b21cba68f4fea42e7c6dc88bd57f58725466f3d3695be4f8271e2ee649edb4a5643974d1e9fd485cf8db9117aafeb0e4a8cde7a6d2b7c9f04e3c5dc55500f4182e9b1520a05d10395799a1da1a23219951b60f5da56f93f09c78bb736b2772fdc35e55be0d1c9ff21515c35ef86c0302a3865ecb4adf27f138f176d6d64ee5fb86bcab7c1a393fe42a2b86bdf0d80605470cbd9695be4fe271e2eda66dc356c473a1827500d4ff47ba398d26a5d5cbda8e33bb3d2b7c9fd4e3c5db359cac38564d6b3066ce0c7e0eda5599f80fd157851c81b68a56f93fb9c78bb653fa7dfb7a00fe8c4a687b7b9d1a8db39ae3c86eda391dad24adf27f838f176c90b62181c1682544119d5976b99afde6e08bb69d8472559a595be4ff171e2ed9116c430382d04a88233ab2ed7335fbcdc1176d3b08e4ab34b2b7c9fe2e3c5db222d8860705a09510467565dae66bf79b822eda7611c95669656f93fc5c78bb6445b10c0e0b412a208ceacbb5ccd7ef37045db4ec2392acd2cadf27f8b8f176c884233da6e3e87c6c96a1f9eb1915c0edb37f8f98172573e5a5be4ff181e2ed90f107a0d895372104aa105655b191645b11c344effe4b020b5b7c9fe313c5db21d20f41b12a6e42095420acab6322c8b6238689dffc960416b6f93fc6278bb643a41e836254dc8412a8415956c645916c470d13bff92c082d6df27f8c4f176c8740fe2c4f771f3050cd4f152d0bf1055838de4d3fc2582a9aebe4ff18ae2ed90e71fc589eee3e60a19a9e2a5a17e20ab071bc9a7f84b05535d7c9fe315c5db21ce3f8b13ddc7cc143353c54b42fc41560e37934ff0960aa6baf93fc62b8bb6439c0b28806865faab1e7450be7deee0d4171b68fbde2c16f176f27f8c58176c8737165100d0cbf5563ce8a17cfbddc1a82e36d1f7bc582de2ede4ff18b02ed90e6e2ca201a197eaac79d142f9f7bb83505c6da3ef78b05bc5dbc9fe31605db21cdc594403432fd558f3a285f3ef7706a0b8db47def160b78bb793fc62c0bb6439b83e9a5f33360d349f11d20fd6e46b696c62d219dfc170bb7027f8c58276c8736f09471713427cebf5f06a47a5bf34fad371e68fbc82e31ae14ff18b05ed90e6dd128e2e2684f9d7ebe0d48f4b7e69f5a6e3cd1f7905c635c29fe3160bdb21cdba251c5c4d09f3afd7c1a91e96fcd3eb4dc79a3ef20b8c6b853fc62c17b6439b744a38b89a13e75faf83523d2df9a7d69b8f347de41718d70a7f8c582f6c8736e82083c9e0fe314216d36aa253e9add531caab57c52e335215ff18b05fd90e6dcf410793c1fc62842da6d544a7d35baa639556af8a5c66a42bfe3160bfb21cdb9e0e218030cf278b131a70b1479d157cc1d6efbb11b8ceec58fc62c1806439b73b1c4300619e4f162634e1628f3a2af983addf7623719dd8b1f8c58300c8736e76388600c33c9e2c4c69c2c51e7455f3075bbeec46e33bb163f18b060190e6dcec710c0186793c5898d3858a3ce8abe60eb77dd88dc67762c7e3160c0321cdb9d86e2a5bb9c8db33e973d13c71c7b5f4181b3e0d188cf06990c62c1807439b73af686710206818ea8ab468a0db85ca102ae2be762e19e277228c58300f8736e75d5ce078eda69457cd359769af01f2485071bf485933c6924618b060200e6dceb945d34a88238b325237f4fb55fa42b89b8fc0ecaf678ec88d3160c0411cdb9d7117b8edbd1d78e75c3cb01ea3eae39931cbc4355bcf1f351b62c1808339b73ae12f71db7a3af1ceb879603d47d5c7326397886ab79e3e6a36c5830106736e75c25ee3b6f475e39d70f2c07a8fab8e64c72f10d56f3c7cd46d8b06020ce6dceb8449d9c695c229bd99b2471d174d7af1890a6406db78fb4cdc160c041acdb9d7071fc5e5d85ab5fdeb3154622691540b0cc10a69b3f1f83db92c1808369b73ae0d3f8bcbb0b56bfbd662a8c44d22a816198214d367e3f07b725830106d36e75c1a0b29f00e413a7a649217b0923bae542db06c02ccc7e29ae5b06020db6dceb8331653e01c8274f4c9242f6124775ca85b60d805998fc535cb60c041b6db9d70662ca7c03904e9e992485ec248eeb950b6c1b00b331f8a6b96c180836db73ae0cc594f807209d3d32490bd8491dd72a16d836016663f14d72d830106db6e75c1983eb15990ea0a2900ee41311bb1436ad5b30288c97e2b525c06020db7dceb832f09750bceaa76d4b9a9488a2f58e4fda612476d8ffc5848b90c041b70b9d7065d12ea179d54eda9735291145eb1c9fb4c248edb1ff8b09172180836e173ae0cba25d42f3aa9db52e6a52228bd6393f698491db63ff16122e430106dc2e75c19744ba85e7553b6a5cd4a44517ac727ed30923b6c7fe2c245c86020db85ceb832e8236315977dcfce52614ecaed84ae025bd0b934fcc5862f91c041b70c9d7065cf46c62b2efb9f9ca4c29d95db095c04b7a17269f98b0c5f2380836e193ae0cb9e199eaf0acda1bc01520153ae09163169ef272ff0161a62480106dc3375c1973b333d5e159b437802a402a75c122c62d3de4e5fe02c34c490020db866eb832e76667abc2b3686f00548054eb82458c5a7bc9cbfc058698920041b70cdd7065cec5907d103437062c25cd0c5683f0fb34a257bdb7db0d4b6410836e19cae0cb9d73e21fab35d43483c8667b2c8747d8e8ef73a12f861ab1083106dc33a5c1973ad08564e1390e91330d9958d88df5945189ab681edc357c50720db8675b832e75910ac9c2721d22661b32b1b11beb28a31356d03db86af8a0e41b70ceb7065ceb22159384e43a44cc3665636237d6514626ada07b70d5f141c836e19d6e0cb9d6442b2709c87489986ccac6c46faca28c4d5b40f6e1abe283906dc33adc1973ac8117739e5e4f3b5c5661f0085ebf2798457aa7ad9357df4730db8675c832e758f22ee73cbc9e76b8acc3e010bd7e4f308af54f5b26afbe8e61b70ceb9065ceb1e45dce79793ced715987c0217afc9e6115ea9eb64d5f7d1cc36e19d720cb9d63c17cc27dbfe0030e2fdbe2c2755f1f41d699632c6abf147996dc33ae51973ac772f984fb7fc0061c5fb7c584eabe3e83ad32c658d57e28f32db8675ca32e758ee5f309f6ff800c38bf6f8b09d57c7d075a658cb1aafc51e65b70ceb9465ceb1dc4a73978cc66409cfbab78932a5edc8e5f8f3f2325f8be0cc6e19d729cb9d63b720f987c6632a965742353a5d4239b9c69e2a4061bf196599dc33ae54973ac76d41f30f8cc6552cae846a74ba8473738d3c5480c37e32cb33b8675ca92e758eda0ff877c6630cdc14d59b116cff450f1524eb5d83fc673a6870ceb9535ceb1db31ff0ef8cc619b829ab3622d9fe8a1e2a49d6bb07f8ce74d0e19d72a6b9d63b663fe1df198c337053566c45b3fd143c5493ad760ff19ce9a1c33ae54d73ac76cc0bd616dfeec9635e799eb35ff086a0a3d39d481ce33b77448675ca9be758ed9717ac2dbfdd92c6bcf33d66bfe10d4147a73a9039c676ee890ceb9537ceb1db2e2f585b7fbb258d79e67acd7fc21a828f4e7520738ceddd1219d72a6f9d63b65c5eb0b6ff764b1af3ccf59aff8435051e9cea40e719dbba2433ae54df3ac76cb84973c6abc2f8b89f66b15df6fec83237e616ddcb33b91849675ca9bf758ed96f1ef9e6045c53f3f69a28e3e5f3ee8c6a787017936773d493ceb9537feb1db2dd3df3cc08b8a7e7ed3451c7cbe7dd18d4f0e02f26cee7a9279d72a6ffd63b65ba07f9f0be47b252923569b78fc61859a48e02ba4a9dd0f6503ae54e00ac76cb730ff3e17c8f64a5246ad36f1f8c30b3491c0574953ba1eca075ca9c0158ed96e61fe7c2f91ec94a48d5a6de3f18616692380ae92a7743d940eb953802b1db2dcc3fcf85f23d929491ab4dbc7e30c2cd247015d254ee87b281d72a700563b65b980bb164915187abdb2361a0f457e3c2438c6e00a6dd110904ae54e00bc76cb72f1762c922a30f57b646c341e8afc7848718dc014dba2212095ca9c0178ed96e5e2ec59245461eaf6c8d8683d15f8f090e31b8029b74442412b953802f1db2dcbc5d8b248a8c3d5ed91b0d07a2bf1e121c63700536e888482572a7005e3b65b9784728a1c1eedd406a02e0373d749a4c337322666ad112344be54e00bd76cb72ef1a639c30b41d038bd2869672df92c061928728d2a2260c98ca9c017bed96e5dd34c73861683a0717a50d2ce5bf2580c3250e51a5444c1931953802f7db2dcbba698e70c2d0740e2f4a1a59cb7e4b01864a1ca34a889832632a7005efb65b97745f2f3a32774a9f1660fadb8ef2f42b07407ba292113208c754e00be06cb72ee74a70cd11c4f7c0e48ebbdf15dc467e092d39a1212265b58fa9c017c1d96e5dcd20f3f2d060520480ea3de623aeeb240d06b59e3f44cd0f2053802f84b2dcbb9941e7e5a0c0a40901d47bcc475dd6481a0d6b3c7e899a1e40a7005f0965b977320fe223ee57aa94bb75bdc086b20ab82ec718d4fa1335e0824e00be13cb72ee631fc447dcaf552976eb7b810d6415705d8e31a9f4266bc1049c017c2796e5dcc63f888fb95eaa52edd6f7021ac82ae0bb1c6353e84cd782093802f84f2dcbb98c0b23781f93b728937ab42c2d86b3e970e50903cd99b0a8137005f09f5b9773171646f03f276e5126f568585b0d67d2e1ca12079b33615026e00be13eb72ee62e2c8de07e4edca24dead0b0b61acfa5c394240f3666c2a04dc017c27d6e5dcc5c591bc0fc9db9449bd5a1616c359f4b8728481e6ccd85409b802f84fadcbb98b83e49daa611d50bef7808ead0619cbf08fcd298d69b0c2538005f09f6b977316f08a60df8fa0c9a96bcd7fd98b997a60ca5e78daa3619ee7100be13ee72ee62dd114c1bf1f419352d79affb31732f4c194bcf1b546c33dce2017c27dce5dcc5ba229837e3e8326a5af35ff662e65e9832979e36a8d867b9c402f84fb9cbb98b7445306fc7d064d4b5e6bfecc5ccbd30652f3c6d51b0cf738805f09f73977316e81673383c772c2c239a4601838fd888c50abb36a061a08b110be13ee82ee62dcf2ce67078ee585847348c03071fb1118a15766d40c341162217c27dd05dcc5b9e59cce0f1dcb0b08e6918060e3f6223142aecda8186822c442f84fba0bb98b73c3fac1a908fc3e3d49ef6341475226e23021c11000d05fc895f09f74277316e770b6a8dcdf5ea4a610ab29020e0a30440b07a7dfd1a0d9d13be13ee85ee62dced16d51b9bebd494c215652041c146088160f4fbfa341b3a277c27dd0bdcc5b9da2daa3737d7a929842aca4083828c1102c1e9f7f46836744ef84fba17b98b73b45b546e6faf525308559481070518220583d3efe8d06ce89df09f742f7316e76842bb358c350728c877ef2a06008e6c05b3ea3bcea0db753ce13ee85fe62dcecf1188c3c54070d448bca47c03f77b00061416d39a41b88e7ac27dd0c0cc5b9d9d2311878a80e1a8917948f807eef6000c282da73483711cf584fba18198b73b3a46230f1501c35122f291f00fddec0018505b4e6906e239eb09f74303316e7674185876d6d9e924fdb1ea0817b236282b4cf8f8cf0dc617d713ee860762dcece730b0edadb3d249fb63d4102f646c505699f1f19e1b8c2fae27dd0c0ec5b9d9ce6161db5b67a493f6c7a8205ec8d8a0ad33e3e33c37185f5c4fba181d8b73b39c4ed60f63a5abaaa55c1668b5880f6955140a22756e3262b99f74303c16e7673729be777421b9d80284f2f963067cfaa4d456a0e7dc6669743ee860792dcece6d537ceee84373b00509e5f2c60cf9f549a8ad41cfb8ccd2e87dd0c0f25b9d9cda330c367d5d49e2c1e0920d841052128dfd9cdf9c719b49d1fba181e5b73b39b366186cfaba93c583c1241b0820a4251bfb39bf38e33693a3f74303cb6e767366584332a24b8a0dbf4f0e5e0837a67232a2b5da6ec66ecb48ee860797dcece6cb3c98bdf16d769e366ae2e40865ab0c5ff1ae10da8cdf3a92dd0c0f30b9d9cd950543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290a87a91f629f7e494517e011836881751f3cfb643380324d74303cc4e7673652150f523ec53efc928a2fc02306d102ea3e79f6c86700649ae8607989cece6ca42a1ea47d8a7df925145f80460da205d47cf3ed90ce00c935d0c0f3139d9cd948543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290348ceaa3005a674c1e4429102ce63f4ca01212403804c8d84303cc4f7673651f6919d54600b4ce983c88522059cc7e9940242480700991b08607989eece6ca3e5e460338d7cc1fe845d6cc38a9f7252d2c8aa4fde014c7620c0f313ed9cd947b489e5f1e85fac2885873c0694a4c72550557a5f8c02b32c5181e627eb39b28f51d4f16e9e25807c87dada8ca8af70ca4b6f1a7ee8058098b303cc4fe673651e93a9e2dd3c4b00f90fb5b519515ee19496de34fdd00b01316607989fcce6ca3d2014eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0a75a2a2fe150ece1be6591111d2d46c4047ddb80b0e516e07989fd4e6ca3d1814eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0336c82dcb7b36f998b2bb909138b6ebeb0c0377db0e6bae17989fd4f6ca3d17f66d905b96f66df33165772122716dd7d61806efb61cd75c2f313fa9ed947a2fe59c4641fb530411df9750c1c448be2f56f4339f3c39c8f86e627f53eb28f45fb3f9b20ec40c304f3bfb040307f75ede58ac8cfe4873ac30ecc4fea7e651e8bf50b489a8557e88c9f4c26a858f54a03c5c1d3fbc60e772a1e989fd4fdca3d17e91691350aafd1193e984d50b1ea94078b83a7f78c1cee543d313fa9fb947a2fd22d226a155fa2327d309aa163d5280f17074fef1839dca87a627f53f728f45fa45a44d42abf4464fa613542c7aa501e2e0e9fde3073b950f4c4fea7ee51e8bf48409c010254eb4cac8f30ad874afe6456c982185de77445ea89fd4fdda3d17e8f0d4a5ab180391c10eb2783068c5af0a83f468cb8ceea2fd613fa9fbc47a2fd1d1a94b56300723821d64f060d18b5e1507e8d19719dd45fac27f53f788f45fa3a35296ac600e47043ac9e0c1a316bc2a0fd1a32e33ba8bf584fea7ef11e8bf4746a52d58c01c8e087593c183462d78541fa3465c677517eb09fd4fde23d17e8e860b803c4d9f443c67f3e5860bc0d327ea0ab2789eea4a1623fa9fbc57a2fd1cf4d8260368a4b0a44cb42d8b96e788cf7ed98ab10dd4ae6c57f53f78bf45fa39d27171919eaf89741634bd96ad34f41ea8773b21eba97718bfea7ef18e8bf47394e2e3233d5f12e82c697b2d5a69e83d50ee7643d752ee317fd4fde31d17e8e72286ebd148244dfbd59f58da3439b2fa4ca112477ea5f6a30fa9fbc64a2fd1ce350dd7a290489bf7ab3eb1b4687365f49942248efd4bed461f53f78c945fa39c62dcd4cfedf7601ad349c5e8504cae68dd486eddca97f4cc4ea7ef1938bf4738b5b9a99fdbeec035a6938bd0a0995cd1ba90ddbb952fe9989d4fde32717e8e71643478ca8543a896c9f37a20c0989c231fe5e136fa5fed714a9fbc64f2fd1ce2b12a171fd7ed795910b356c100971ac5ea8fe82dc4bff522a53f78c9f5fa39c552542e3fafdaf2b22166ad82012e358bd51fd05b897fea454a7ef193ebf4738aa4a85c7f5fb5e56442cd5b04025c6b17aa3fa0b712ffd48a94fde327d7e8e7154211de898cd1f2f402671887841eb8aeff43672df5ffc35539fbc64fbfd1ce2a7423bd1319a3e5e804ce310f083d715dfe86ce5bebff86aa73f78c9f7fa39c54e1089fb100adf3fb8668c49d8fe0c53ba7d1c277a7ff2794f7ef193f0f4738a9b2113f62015be7f70cd1893b1fc18a774fa384ef4ffe4f29efde327e1e8e715364227ec402b7cfee19a312763f8314ee9f4709de9ffc9e53dfbc64fc3d1ce2a6c1062312d2d5c807b012876bfe6c0c5ce952397d0ff956e7cf78c9f88a39c54d720c4625a5ab900f60250ed7fcd818b9d2a472fa1ff2adcf9ef193f114738a9ae4188c4b4b57201ec04a1daff9b03173a548e5f43fe55b9f3de327e228e71535c0f23e2164146868fd609ddf72c64566f555f1a84fcad17e8bc64fc461ce2a6b71e47c42c828d0d1fac13bbee58c8acdeaabe3509f95a2fd178c9f88c39c54d6e3c8f8859051a1a3f582777dcb19159bd557c6a13f2b45fa2f193f118738a9adc0531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70a62d2bdc12d6e6cfa2a2f62b301b6eaae766049cad4c68dc64fc463ce2a6b6e14c5a57b825adcd9f4545ec566036dd55cecc09395a98d1b8c9f88c79c54d6dc298b4af704b5b9b3e8a8bd8acc06dbaab9d981272b531a37193f118f38a9adb8531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70323f8488e93969876f691e23267996a593a86099ad4e0cdd64fc463de2a6b6df647f0911d272d30eded23c464cf32d4b2750c1335a9c19bac9f88c7bc54d6dbe55106ad07b4828d58a6aa08490448290fae3de63b539d77693f118f88a9adb7b36332e4dccf2d462e19b690116e72d1ca20a18c46a7552ee27e231f21535b6f56c665c9b99e5a8c5c336d2022dce5a3944143188d4eaa5dc4fc463e42a6b6dea64df11e40a2dd4435333cbfc51fadc6d346abf0ea9d6efb99f88c7c954d6dbd355d07c74eabe2b3e732dbff09a53e0d51517da1a53af83743f118f93a9adb7a537b35196abded934b321a7d92b05e9a4d6721031a760aae97e231f28535b6f496f66a32d57bdb26966434fb2560bd349ace420634ec155d2fc463e50a6b6de926adf9f0785dde78a994cc75ca275ce8e060a9cc39d844fa6f88c7ca24d6dbd2361d196bbe21e51ccff5fb6b13b49c516b85795843b0a434ef118f9459adb7a454fb586249a9f2651cb85955a6cf1b2281cf1870576162a9ee231f28c35b6f4892b7d64f60ba0cf5b63d152acd0418c4ae6256a07ec2df93ec463e5196b6de91156fac9ec17419eb6c7a2a559a0831895cc4ad40fd85bf27d88c7ca32d6dbd2223a07ec8504e5c0255c0b72ab3764592644d8041cb0b988fc118f9466adb7a443002231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0014d9342d8e6e8ccb40fb618c91c744d275d33582d2d9888d7ca3396ebd2213ff29b2685b1cdd199681f6c319238e89a4eba66b05a5b3111af94672dd7a4427fe5364d0b639ba332d03ed8632471d1349d74cd60b4b662235f28ce5baf4884ffc32dbfa1949d6e911d4a1345c84984e8e5adc081396cde86ce519cb76e9109ff765b7f43293add223a94268b909309d1cb5b810272d9bd0d9ca3396edd2213fee57824111fdbe26ff1f4af96a08bf623417b27c4b5b3945b494672ddca4427fdb3b16dad0d1ded0b60b5c1acc07dcec62dba75493b6742f6a28ce5bba4884ffb502400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed209003939e880908f8df97640186003018e441491b3a80b554672ddd64427fda412007273d101211f1bf2ec8030c006031c882923675016aa8ce5bbac884ffb482400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed201c15ec4b5e6b8bb0ac5d8bf97c5e58139083a5183a825955672ddd65427fda3f382bd896bcd7176158bb17f2f8bcb02721074a307504b2aace5bbaca84ffb47e7057b12d79ae2ec2b1762fe5f179604e420e9460ea0965559cb7759509ff68fc6cc1bb07c9bee03d2fb287c3d950e897305f84bed4146eac396eeb2b13fed1f76595cebc69e043322c2b377fa8fff9290d01657aa82a815972ddd65727fda3ed573df625aa23091c251c96f7485e1a4cc64526f25056a6b3e5bbacaf4ffb47d93a8e44f82aa894f016ff55e6871a5c9438cca9e1a0aef168cb77595f9ff68fb1012ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d84097714e95d9d64bfd6269e2824970918eedd7e020afc3694b7759601ff68fb0812ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d8402383a742b038ceb52f300a7a3fceb9899a1a3c1dafc50d4c77596020f68fb07f47074e8560719d6a5e6014f47f9d73133434783b5f8a1a98eeb2c041ed1f60fe1a20f5b79745bd8c898651e0f5990e2114ab4c73bf15d932dd658084da3ec1fb3441eb6f2e8b7b19130ca3c1eb321c42295698e77e2bb265bacb0109b47d83f66883d6de5d16f63226194783d664388452ad31cefc5764cb7596021368fb07ec5d1a066990906f1c18f8b6ffa3269903519cbf9af8b06d97eb2c0427d1f60fd74646657ff78360effeb795f73cab5a014f7bdb32f1627f30d6580850a3ec1fad189f23acc5694497ca3553e66fb4dbfd4b3a1262e2c6a262acb010a247d83f59313e47598ad2892f946aa7ccdf69b7fa967424c5c58d44c5596021448fb07eb2627c8eb315a5125f28d54f99bed36ff52ce8498b8b1a898ab2c042891f60fd64510b761301aca7761e70c72b740507e50612ef141636b716658085133ec1fac72e2944d2d9bbd1a409a7b64ede6837c4b8683a252c6f122dcb010a277d83f58d5c5289a5b377a348134f6c9dbcd06f8970d0744a58de245b9602144efb07eb1a44b76bf83d51c947f36501336fff070d8de34491b1bdecb82c04289ef60fd6331581309d51061547b3902a5ed65c3615c808e520637d7d715808513eec1fac652b02613aa20c2a8f672054bdacb86c2b9011ca40c6fafae2b010a27dd83f58ca5604c2754418551ece40a97b5970d857202394818df5f5c5602144fbb07eb194381bdd975e932cf569477aeea93fd8a8ec8985001bed8f8bc04289f860fd63277037bb2ebd2659ead28ef5dd527fb151d9130a0037db1f17808513f0c1fac64e6c81cf0a50af368d71e413b29b5d8a9e5e686ffd6fb7e230010a27e283f58c9b6515f6c177c0efd2b08e4f5d2d193d3769133bf7df71686102144fc607eb1935563e462fc5e4625d2de2c6b25090a2697e68d3ecbee474c304289f8d0fd63269388ee50c622b4772288bb55c977f6ccda91403d67dca8d8708513f1b1fac64d1711dca18c4568ee451176ab92efed99b522807acfb951b0e10a27e363f58c9a26e4decde5f0fa0806ef4fd6a545bdb3150926b56f72bda1d2144fc6d7eb1934368ae32699481c3b8aab022cc9f15de5d4d6732aaee59583b4289f8dbfd6326855d6ebd7fff660a2922266d913489e4b54710c152dcb454778513f1b8fac64d0946efd3acd52e970a1113031a5f71f1653a63dea2b96a4cf00a27e372f58c9a1119f2000680bfb0cbeeec2e2cb5420ac5210a194272d63de1144fc6e6eb19342133e4000d017f6197ddd85c596a84158a42143284e5ac7bc2289f8dcdd632684267c8001a02fec32fbbb0b8b2d5082b1484286509cb58f784513f1b9bac64d0845ba258e0dc6009174427995da06e7e23b493261096b39309a27e373858c9a10743570a6e8f2294e655155ab3373b24421568a81e2d68ca1444fc6e71b193420d12c06d89f4a7ac8476f0dd5e64d4707ed713ac395ad3382989f8dce4632684192580db13e94f5908ede1babcc9a8e0fdae275872b5a6705313f1b9c8c64d08324b01b627d29eb211dbc375799351c1fb5c4eb0e56b4ce0a627e373918c9a10642215c4fc7b9fe6db844d12eb1d01abf164dfbdc7d69b654d4fc6e724193420c7442b89f8f73fcdb7089a25d63a0357e2c9bf7b8fad36ca9a9f8dce483268418e14696c9ec4e21e25ddfa73a46a64d7c03fc1531c5a6f39363f1b9c9164d0831b28d2d93d89c43c4bbbf4e748d4c9af807f82a638b4de726c7e373922c9a1063651a5b27b1388789777e9ce91a9935f00ff054c7169bce4d8fc6e724593420c6c2f5dbda2fd7373e6bc99c51b4984e5fcaa4cf4dfd37b6db2f8dce48c268418d75ebb7b45fae6e7cd79338a369309cbf95499e9bfa6f6db65f1b9c9184d0831ae49894f38cc305252bf2d3c651c71bfed55762f7c4def5acce37392319a10635b1f24f71e6ec3275d4b20a0c22f41a7d5572ebaf59be0599ac6e724643420c6b53e49ee3cdd864eba964141845e834faaae5d75eb37c0b3358dce48c868418d6a08a63526916f202cf948ab00b364c75008fd47d36f830a6c1b9c9191d0831ad3114c6a4d22de4059f291560166c98ea011fa8fa6df0614d837392323a10635a62298d49a45bc80b3e522ac02cd931d4023f51f4dbe0c29b06e724647420c6b4c4531a9348b790167ca4558059b263a8047ea3e9b7c185360dce48c8e8418d6981675ab15ed5485876150d8032caa9cfb3c16d933f8324ac2b9c9191e0831ad2f2ceb562bdaa90b0ec2a1b006595539f6782db267f06495857392323c10635a5e59d6ac57b552161d8543600cb2aa73ecf05b64cfe0c92b0ae724647820c6b4bc3fbfb15c4106aef2d74ce8115bb30fd48cf9259cc193fa16ce48c8f1418d69770b91bb65586fe09d7b5ff81aadc447a3c634a7368329982e9c9191e3831ad2ed172376cab0dfc13af6bff0355b888f478c694e6d0653305d392323c70635a5da2e46ed9561bf8275ed7fe06ab7111e8f18d29cda0ca660ba7246478e0c6b4bb45c8ddb2ac37f04ebdaffc0d56e223d1e31a539b4194cc174e48c8f1c18d69768452e0f025d608c8f82c5a9a2d2a2a2370f8ccf65329b26eac9191e3931ad2ecf166e76b191239bd6d2517b3d9ba36c68cb5bfac76537f1d692323c73635a5d9d2cdced63224737ada4a2f67b3746d8d196b7f58eca6fe3ad246478e6c6b4bb3a59b9dac6448e6f5b4945ecf66e8db1a32d6feb1d94dfc75a48c8f1cd8d6976743f860e395f7f616e5f5201e4d3798b410722323829c132b59191e39c1ad2ece70b1e751f956145948b6a2bc19d513e7cba86c06d5384096c2323c73935a5d9cd163cea3f2ac28b2916d457833aa27cf9750d80daa70812d846478e726b4bb39a2c79d47e558516522da8af067544f9f2ea1b01b54e1025b08c8f1ce4d697673458f3a8fcab0a2ca45b515e0cea89f3e5d436036a9c204b61191e39c9ad2ece683df9aaa62c76dc008368e411cb720fc654ae62d238423ac3323c73945a5d9ccf0805adf92f503ab8d397f01b8d424787559f21a1708619876478e729b4bb399d100b5bf25ea07571a72fe0371a848f0eab3e4342e10c330ec8f1ce536976733a2016b7e4bd40eae34e5fc06e35091e1d567c8685c218661d91e39ca6d2ece674402d6fc97a81d5c69cbf80dc6a123c3aacf90d0b8430cc3b23c7394da5d9cce80c6d383fcb662e45064529b0ca82a0700634761408633c77478e729c4bb399cf18da707f96cc5c8a0c8a5361950540e00c68ec2810c678ee8f1ce5389767339e31b4e0ff2d98b9141914a6c32a0a81c018d1d850218cf1dd1e39ca712ece673c6369c1fe5b31722832294d865415038031a3b0a04319e3ba3c7394e25d9cce7852e5dca98cc567083118c3049e882efb0f89bd3d86356b7578e729c5bb399cef31de11ffefed50c82ef7ae01336e85f0cb55d6780c6c7aebf1ce538c767339dd63bc23ffdfdaa1905def5c0266dd0be196abacf018d8f5d7e39ca718ece673ba538aa0ac9617c5d888a4dffcc4183fbdd999b5dd31b38fb0c7394e32d9cce77333279a0602920e68de0fe7f17e8ea7765f75c7b76368c3628e729c66b399cee5664f340c05241cd1bc1fcfe2fd1d4eecbeeb8f6ec6d186c51ce538cd67339dca58b0c0c4e0aabc5b4505c7bdf098c5d42a197ada8da4b18b39ca719bce673b933d73da3697b7fb6e56d1b773d78fb3a3007551b21b4b07177394e3389cce772506fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee490df41a340ba4f328f4d32dbf4afb1e815a59fec26d2f645fce538ce47339dc921be834681749e651e9a65b7e95f63d02b4b3fd84da5ec8bf9ca719c8e673b92437d068d02e93cca3d34cb6fd2bec7a056967fb09b4bd917f394e3391cce772486fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee4906b53fbed90b1b54719f903eca610101051e24823d2f7e9fde538ce48339dc91f62ba5087f7c5ed4600b82fd1427e481b5006ec44a5f177fcca719c91673b923d5186f9bcc5ee5d43ce36879a7b5ab8314c5034864be493fa94e33923ce7724792f204c26623f3d3f6933372ced13985d44e2c50997cacbf629c672489cee48f15e40984cc47e7a7ed2666e59da2730ba89c58a132f9597ec538ce49139dc91e2489389465f5f77b5719304abaaac896fbfcd70235f2cd3d9a719c92373b923c31d396b3995217222afec314f4bb73ada2bdd3c43be5b4bb44e339247e77247853a72d6732a42e4455fd8629e976e75b457ba78877cb697689c67248fcee48f0a00f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c07c02c9957425a1463b769a929d89b1addba685fcb769691c6724904ee48f0980f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c0081522424a8823fe083cc28a93e7d9a887e8e1f9b76b0d1d6724904fe48f097f102a4484951047fc1079851527cfb3510fd1c3f36ed61a3ace49209fc91e12fe205489092a208ff820f30a2a4f9f66a21fa387e6ddac34759c92413f923c25fc40a9121254411ff041e614549f3ecd443f470fcdbb5868eb3924827f24784bf80d647cd17ee4c298509250a134dbc2832ad07b9876b275d7724904ff48f097ef1ac8f9a2fdc98530a124a14269b7850655a0f730ed64ebaee49209fe91e12fde3591f345fb930a6142494284d36f0a0cab41ee61dac9d75dc92413fd23c25fbc6b23e68bf72614c284928509a6de14195683dcc3b593aebb924827fa4784bf78625a25c4c4aeac3cd5eb320b441a502d594a15846b29017824904ff58f097eef50c6a4365fbfdb31789c8c0e7e92c8555ed68705d653a6f149209fec1e12fddd2d9fa11995e2391abdff4014f383b8a569ef6a08aca8f1e392413fd93c25fbb95b3f42332bc472357bfe8029e707714ad3ded4115951e3c724827fb2784bf7724290dd132deb6722c4c3284bc46d0a905400041fb2a56b8f4904ff65f097eee3113412d3323950fd564c788f7f383d1b5442643c654c7b1f9209fecce12fddc5226825a66472a1faac98f11efe707a36a884c878ca98f63f2413fd99c25fbb8a44d04b4cc8e543f55931e23dfce0f46d510990f19531ec7e4827fb3384bf771415b2ef46682d0aa27f29ec73f02010d54e557de02a657cfd904ff668097eee272b65de8cd05a1544fe53d8e7e04021aa9caafbc054caf9fb209fecd012fddc4e56cbbd19a0b42a89fca7b1cfc08043553955f780a995f3f6413fd9a025fbb89c39a9d2e017cad7cbc6158b97775eaea51eee4afe532d8bed827fb3414bf771377353a5c02f95af978c2b172eeebd5d4a3ddc95fca65b17db04ff668297eee26e72b9a42d358de1e6e51c5655d3d8e28f27fb87f64cb7d3b709fecd062fddc4db7185a107417e468596fed4a39e0fed18fc396be999714b6f13fd9a0d5fbb89b56f1d9abb595f0fc2fac3d13f327e022ca4b533d032e43adf27fb341bbf7713696a4d8e238920a23dc24dca765b5a2c53f5acc39d65ca19bf4ff668387eee26d160ad74f3e8a3c7335161bce4ad1280a2979be337cb95d77f9fecd071fddc4da14d6d4294a7aa111e6f89a1c15083293fdb7a226c972d53003fd9a0e4fbb89b4126ecddd625b6a4f4abd96b7a97647a7a6336a0d62e5c4a017fb341caf77136814dd9bbac4b6d49e957b2d6f52ec8f4f4c66d41ac5cb89402ff668395eee26d0227c5d0056d3d168a7c2bd5e253f011e4391cdf55b972cc06fecd072cddc4da034f8ba00ada7a2d14f857abc4a7e023c87239beab72e5980dfd9a0e59bb89b4062b2998c28b56dce1bd757f81461e6f8b90b5d953e5ccd41cfb341cb47713680b5653318516adb9c37aeaff028c3cdf17216bb2a7cb99a839f6683968ee26d01638b8bbb703bdf63ec29c25fd0ed7e628ef19c14c9734f474ecd072d2dc4da02b7171776e077bec7d85384bfa1dafcc51de3382992e69e8e9d9a0e5a5b89b40566ef54788e55a5bb2d736bfec31bdc09e68a9612f5cd575d4b341cb4c713680ab69fce7bea1173a1d7b33a7d059d9a9377d951e5bb9ac8faa66839699e26d0155600c282a1890f6f2c32d7798aa117a69a76c98b4735ac355cd072d34c4da02a94c2aa9010784709d532117294a811ccdfb1b8d65e6b72aac9a0e5a6a89b405512467aaaee56b63f27308564a8b606196a27976c8cd6ff95a341cb4d613680aa148cf555dcad6c7e4e610ac9516c0c32d44f2ed919adff2b4683969ac26d015421db103686c10128198e7812223dfae553628372035c18969d072d3594da02a833b6206d0d820250331cf024447bf5caa6c506e406b8312d3a0e5a6b29b40550602d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d0154160b59993a1a8b32f8c190b2021773853e138ce1f75c1f26a1072d3598da02a82c16b33274351665f1832164042ee70a7c2719c3eeb83e4d420e5a6b31b40550582d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d015416041abec4e7f15b243e5d148196d967bdbe5107b72c1f40e1172d3598ea02a82bf0f6a3149d48de73f9868b82ad18b1fb2766352e283e9c023e5a6b31e4055057d1ed46293a91bce7f30d17055a3163f64ecc6a5c507d38047cb4d663c80aa0afa3da8c52752379cfe61a2e0ab462c7ec9d98d4b8a0fa7008f969acc79015415f40763e2fb7ad1bcb4900be94e82b7258e5f5cf3111f4fa5202d3598f302a82be70ec7c5f6f5a379692017d29d056e4b1cbeb9e6223e9f4a405a6b31e6055057ce1d8f8bedeb46f2d2402fa53a0adc96397d73cc447d3e9480b4d663cc0aa0af9c3b1f17dbd68de5a4805f4a7415b92c72fae79888fa7d290169acc79815415f3802508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde094221920df938033612f380874203828846343bd3efd80f4d663cc4aa0af9bc128443241bf270066c25e7010e840705108c6877a7dfb01e9acc79895415f3782508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde0203471cdb5f602eb2df560006a7e602330a59fba3eff24f5d663cc4ba0af9bbf4068e39b6bec05d65beac000d4fcc046614b3f747dfe49ebacc79897415f377e0ce41fe3ae3a8e64849ba7f9a057a8876ed8dae5fbfe37d8598f312f82be6efb19c83fc75c751cc909374ff340af510eddb1b5cbf7fc6fb0b31e625f057cddf633907f8eb8ea3992126e9fe6815ea21dbb636b97eff8df61663cc4be0af9bbec6720ff1d71d4732424dd3fcd02bd443b76c6d72fdff1bec2cc79897c15f377d85a5456e7ba0b69001680a791fbd8b07199d00a5cbfe5218698f312f92be6efaf40bb067c4a7954b7f9c7771bee0f88dddfe270b67fcbe70e31e625f357cddf5d0d8865a56b552c27c055162fd27d39b66c073d69ff99721d63cc4be7af9bbeb91b10cb4ad6aa584f80aa2c5fa4fa736cd80e7ad3ff32e43ac79897cf5f377d7236219695ad54b09f015458bf49f4e6d9b01cf5a7fe65c8758f312f9ebe6efae46c432d2b5aa9613e02a8b17e93e9cdb36039eb4ffccb90eb1e625f3d7cddf5c86498b3038bb54533d2178af51e31c3616cb6329cf998c5d73cc4be7bf9bbeb8f5543beb3edcd0d1f70f53de232c1aebd85aec136f3332faf79897cf8f377d71d3699d614b1fc9cf6aeb0a3bc5be18575b79fde6ae668035ff312f9f2e6efae396d33ac2963f939ed5d614778b7c30aeb6f3fbcd5ccd006bfe625f3e5cddf5c726679b0ff9e54f6928788b6e965e43dd18ac1d5a899a1b180cc4be7cc9bbeb8e35905baac130c6fdcdbd795cac226a39dc1c6074e334507029897cf9a377d71c53e1dce04fc7b62718475538d7aab6f362fce6a99668bb206312f9f356efae389084df4b6cf59479ad5b0cf12ebb506670bdf312fcd19080d625f3e6bddf5c711109be96d9eb28f35ab619e25d76a0cce17be625f9a32101ac4be7cd7bbeb8e222137d2db3d651e6b56c33c4baed4199c2f7cc4bf34642035897cf9af77d71c44426fa5b67aca3cd6ad8678975da833385ef9897e68c8406b12f9f35eefae388810f1a419cbf6fc6527d31926b1ae8e6b6a356ef9d19224d725f3e6bedf5c710f21e3483397edf8ca4fa6324d635d1cd6d46addf3a32449ae4be7cd7dbeb8e21e43c690672fdbf1949f4c649ac6ba39ada8d5bbe74648935c97cf9afb7d71c43c139f797b361a65e10b5ef12d83d29b55fdedd3cb8c92caba2f9f35f7fae38877273ef2f66c34cbc216bde25b07a536abfbdba797192595745f3e6beff5c710ee4e7de5ecd86997842d7bc4b60f4a6d57f7b74f2e324b2ae8be7cd7dfeb8e21dc290e24868735b1c027bdb16414f302aa9bb0fa596497f9d27cf9afc0d71c43b7521c490d0e6b63804f7b62c829e605553761f4b2c92ff3a4f9f35f81ae38876e304aeac6f33949b86bbced884a2a32a51b06456292618b4af3e6bf045c710edb6095d58de6729370d779db109454654a360c8ac524c31695e7cd7e08b8e21db64d3e03c8a347a9997bb9de191f06f28f185b71874987d12ccf9afc1271c43b6b268e603e1cf1d5eac439e42a346c0d18dcf93f0b9311465a9f35f825e38876d54d1cc07c39e3abd58873c85468d81a31b9f27e1726228cb53e6bf04bc710edaa264bd9a54a29da62ddadb8a0c80e5c5e2027582b4c46bd6b7cd7e0988e21db534c97b34a9453b4c5bb5b7141901cb8bc404eb056988d7ad6f9afc1311c43b6a62541bf41ff09ec43437d0a7b169799732cdfbcaa311c99aef35f826338876d4b4a837e83fe13d88686fa14f62d2f32e659bf79546239335de6bf04c6710eda96211955b4d28a33c4daba51e450bc8dc75fc14ea5c4740abccd7e098de21db52b4232ab69a5146789b574a3c8a1791b8ebf829d4b88e815799afc131bc43b6a561077af80208b51cb37af6f8939505f182b47969411d1cef435f826388876d4ab20ef5f004116a3966f5edf1272a0be30568f2d2823a39de86bf04c7110eda95641debe00822d472cdebdbe24e5417c60ad1e5a5047473bd0d7e098e221db52ac0fcfd4addabd11118a41a441c0e120bc067f109d8e901ba2afc131c543b6a5571f9fa95bb57a22231483488381c241780cfe213b1d2037455f82638a876d4aae3f3f52b76af4444629069107038482f019fc42763a406e8abf04c7150eda955c0a90fe1bac4b0b441ed34a05fd672ddae03ae0e9748281167e098e2b1db52ab71521fc37589616883da6940bface5bb5c075c1d2e905022cfc131c563b6a556e2a43f86eb12c2d107b4d2817f59cb76b80eb83a5d20a0459f82638ac76d4aadc5487f0dd62585a20f69a502feb396ed701d7074ba41408b3f04c7158eda955b835223a679b1336f9b9fac857ccd105a8aff06a944829b568e098e2b2db52ab6f6a4474cf36266df373f590af99a20b515fe0d52890536ad1c131c565b6a556de609b424b42af5e9eb4b1495729a23e9d6c04064e20a879a482638acc6d4aadbb4d48dd435bc13ff53628baa649a2a535844a68994152974a04c71599da955b7526a413338de502a239179d4489a37265b4d72d2f82a6d295098e2b34b52ab6e94d4826671bca0544722f3a891346e4cb69ae5a5f054da52a131c56696a556dd226a2a57b0df68d40b1249d0a1cebf1917f9f10bb0a9cee552638acd3d4aadba34d454af61bed1a8162493a1439d7e322ff3e21761539dcaa4c7159a7a955b746269cee990e3cb7ba91589c206a0dee40aabe9ee92a755d5598e2b35052ab6e8b4d39dd321c796f7522b13840d41bdc81557d3dd254eabaab31c566a0a556dd16268613110f5561a2122898799e95e0fd573cd7a1a9d71957638acd424aadba2b4d0c26221eaac344245130f33d2bc1faae79af4353ae32aec7159a84955b7456262aa4f113b80940156889de70b5abf00935ba83a75e095e8e2b350a2ab6e8ab4c5549e2277012802ad113bce16b57e0126b75074ebc12bd1c566a14556dd15624bcec712542a7b822684f71b934d7bad119460b9d79c97b38acd429aadba2ab4979d8e24a854f7044d09ee37269af75a2328c173af392f67159a85355b745561f060a716b6d2198566765bedb3186e5f0a7742b75e8c9ede2b350a7ab6e8aab3e0c14e2d6da4330accecb7db6630dcbe14ee856ebd193dbc566a14f56dd1556082a8272841709192663bef3632443926ee02caad7a4cbb88acd429fadba2aab105504e5082e12324cc77de6c6488724ddc05955af499771159a853f5b74555620aa09ca105c2464998efbcd8c910e49bb80b2ab5e932ee22b350a7eb6e8aaac4154139420b848c9331df79b19221c9377016556bd265dc4566a14fd6dd155580eba7fd517d3144a3302172e28a261219a4526aa7a4e5f89acd429fbdba2aaaf1d74ffaa2fa6289466042e5c5144c243348a4d54f49cbf1359a853f7b745555e3ae9ff545f4c5128cc085cb8a289848669149aa9e9397e26b350a7ef6e8aaabc01e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee07995d5653ec9425935b85a4edc4c41df9ae454349d281399a853f7f745555dc0f32baaca7d9284b26b70b49db89883bf35c8a8693a50273350a7efee8aaabb81e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee005a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf0b505c242a578a2204fd048da554d3b48e4d60633a536f3550a7eff08aaabb7e16a0b84854af144409fa091b4aa9a7691c9ac0c674a6de6aa14fdfe1155576fc2d417090a95e288813f4123695534ed23935818ce94dbcd5429fbfc22aaaedf85a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf041181aef7bdb24d81c9670d24bab634391186230a53897560a7eff09aaabb7df0e428e8bce18cc6805f3099c8db4ee81ce73205e4a72d2ad14fdfe1455576fbd1c851d179c3198d00be613391b69dd039ce640bc94e5a55a29fbfc28aaaedf7a390a3a2f386331a017cc267236d3ba0739cc817929cb4ab453f7f851555dbef47214745e70c663402f984ce46da7740e739902f253969568a7eff0a2aabb7de8703b4169b7ef49382bf6c1c0d1ad1017937461e1a72eced24fdfe1465576fbcf6c88db804641152824b3ab7999b84829d32b1fc04e5f41a59fbfc28daaedf79d65240fad62e4ad08162d7eeb29ceb84e52989b7d9cc0274c3f7f851c55dbef39565a78079c2bdcc7f92125ce49fb9897517392f83981f2997eff0a39abb7de7138c748bc0eba3c47bf0873948a5559294f2981ed73058933fdfe1474576fbce1718e91781d74788f7e10e72914aab2529e5303dae60b1267fbfc28e8aedf79c26f2f7b9d114b73d6c8e7f64a1fb38c9fe8e863b2cc17c8d0f7f851d25dbef3836a714fe6f8f96a655e96148c35c5413a7e132362983135a2eff0a3a5bb7de70560f4f87ac855578289f2511061e8aa6fa868a2c230640f46dfe1474c76fbce094dfc49a2670d31bce0aaca18ba2f7cd9fd13a18160c9c28ebfc28e99edf79c11280aebf1a47ce6318e1bbc296abd21aea6699effc195291e7f851d34dbef38215015d7e348f9cc631c377852d57a435d4cd33dff832a523cff0a3a69b7de70422c3e087368561b7e0535189da152aeb545e8d7fc0656487afe1474d46fbce083587c10e6d0ac36fc0a6a313b42a55d6a8bd1aff80cac90f5fc28e9a8df79c1063d0a7a7a77baf0afe19a8a6e7ba8e2cfc3e5bbed195ac5ecf851d352bef3820b06274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de704150c4e9b438bb0c82f1ff679a9db5fdb34681ba7ae656e5fb5e1474d4cfbce082a189d36871761905e3fecf353b6bfb668d0374f5ccadcbf6bc28e9a99f79c1054313a6d0e2ec320bc7fd9e6a76d7f6cd1a06e9eb995b97ed7851d3533ef3820a86274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de70415050fc0ce5916f05a9cc2dc295ac5bdb412dfcd6e356e79f5f1474d4d0bce0829f2e0a7277f9408e0b6521ad234f15de7d083c09c3add0e2bf28e9a9a279c1053d5c14e4eff2811c16ca435a469e2bbcfa107813875ba1c57e51d35344f3820a7a443c228cbb64bae5614cdc8532b5a1eecd32830bb7452efda3a6a68ae70414f3148a9dc64d2bf8828f5fe1025bc96bd846a762146e8c01fc474d4d16ce0829e529153b8c9a57f1051ebfc204b792d7b08d4ec428dd1803f88e9a9a2d9c1053ca522a771934afe20a3d7f84096f25af611a9d8851ba3007f11d35345b3820a794306746df3fc246cc47c5300ad4a986bce17d6ca07461b3e33a6a68b770414f2760ce8dbe7f848d988f8a6015a9530d79c2fad940e8c367c674d4d16ee0829e4e4daf7429d56b9de8ebdae823490442ee32380e7ed188738de9a9a2dec1053c9b277141008139be89a47bf83e8866add710b278faa3128b1cd35345be820a79354ee2820102737d1348f7f07d10cd5bae2164f1f546251639a6a68b7d0414f26a29d75caedb497cde5eb608f217f8df56ef0c3fe78c4bd0744d4d16fb0829e4d353aeb95db692f9bcbd6c11e42ff1beadde187fcf1897a0e89a9a2df61053c9a6336fcb6843887631479e4bc05641a55668735b9b3130e5d235345bed20a7934b66df96d08710ec628f3c9780ac834aacd0e6b7366261cba46a68b7da414f269659d1864de4845b7ceb3f56f94f64bd544e0fca69c4c53b49d4d16fb5829e4d2b3fb565489f6b39b1a344d5ea9527a2a34861f0d0898c1a94a9a2df6c053c9a550b7d233e1538f61b134fd3cd20ad6d413d063d9e1319d92a5345bed90a7934a916fa467c2a71ec36269fa79a415ada827a0c7b3c2633b254a68b7db214f269522df48cf854e3d86c4d3f4f3482b5b504f418f6784c6764a94d16fb6429e4d2a45be919f0a9c7b0d89a7e9e69056b6a09e831ecf098cec9529a2df6c853c9a54843e48c8e29f1e46901c364ca0134fc0e7ca635de319f36a6345bed91a7934a8f13db71c92a464b89d04cf18bf8c82017a58ec7b96340114d68b7db244f26951d27b6e392548c9713a099e317f190402f4b1d8f72c680229ad16fb6489e4d2a3a4f6dc724a9192e274133c62fe320805e963b1ee58d004535a2df6c913c9a54742aede6f62894df064f2db457bc9f28b7d8b899c81a022e6c45bed9237934a8e755dbcdec5129be0c9e5b68af793e516fb171339034045cd88b7db246f26951ce37c9f48578b5fed1097cf956e8dacada0f24c31d680a5db216fb648ee4d2a39b6f93e90af16bfda212f9f2add1b595b41e49863ad014bb642df6c91dc9a547366b3a2ac2b93a7dfbf2ba0d5399c95362e8d56872a02b1ac95bed923c934a8e6b6286ae3248d77eafb23a429f29f0cec07ded2ce24057d993b7db247a26951cd5511fb51168118017313aad364a3fc57ba81cb5c180b157286fb648f54d2a39a92e51c2cfa68582e62f3b82648addb2f1fc7bc78001645251df6c91eb9a5473515ca3859f4d0b05cc5e7704c915bb65e3f8f78f0002c8a4a3bed923d734a8e6a2455963eb70788e5089b4318a21d4f3c29e3179fd0592ed487db247af6951cd4316c52083b7539f58e02e8b0c3a080f7fe8a54ff70b277e91fb648f5fd2a39a852d8a41076ea73eb1c05d161874101effd14a9fee164efd23f6c91ebfa547350a5b14820edd4e7d6380ba2c30e8203dffa2953fdc2c9dfa47ed923d7f4a8e6a14423b5cca90ff7d7ece3a8059c69ea3f9f16cdbb5593d9890db247aff951cd42710891241f8617db5693b28ab839b6fee8f1c1367b27cd522b648f6002a39a84d21122483f0c2fb6ad27651570736dfdd1e3826cf64f9aa456c91ec005473509a42244907e185f6d5a4eca2ae0e6dbfba3c704d9ec9f3548ad923d800a8e6a134105aeabc996e7063169f6d541339a76f2522f73a93e84d16b247b00251cd426720b5d57932dce0c62d3edaa826734ede4a45ee7527d09a2d648f6004a39a84ce416baaf265b9c18c5a7db5504ce69dbc948bdcea4fa1345ac91ec0094735099c0ee9ae91a1d605d081c19298902b6373d55a15d19f440cb6923d80138e6a13371dd35d2343ac0ba1038325312056c6e7aab42ba33e88196d247b00271cd4266e3ba6ba468758174207064a6240ad8dcf556857467d1032da48f6004e39a84cdc035fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e0d7f34e7944ac4ef6b4af2f1dee50e655c4c2a27e88826d647b00275cd4266dc1afe69cf289589ded695e5e3bdca1ccab898544fd1104dac8f6004eb9a84cdb835fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e06405a7261b0ed1ae81755715e4af0e507104fe7b888411657b00275dd4266dbf541da6f90c802614cfb0d623bfbc449b8e4c58f41109c6cbf6004ebca84cdb7d344da69eef62cee16c27d43f75d6b131c8db0de522153198ec009d7a5099b6f9689b4d3ddec59dc2d84fa87eebad626391b61bca442a6331d8013af4a1336df25d48f32893edbe3d7d6578f5cdb8ecc1cfae939188566a64b00275ea4266dbe346a43efdfe3dff32c79119e391d0017e4b9f832010ae78ca6004ebd584cdb7c5195ad6a8d2de811d5be85bbf19fe2af74381623d215e9595c009d7ac099b6f8932b5ad51a5bd023ab7d0b77e33fc55ee8702c47a42bd2b2b8013af581336df12656b5aa34b7a04756fa16efc67f8abdd0e0588f4857a565700275eb0266dbe2456e90df36d568ba2ac0905f0c64f7fb4c84d6de60af650af004ebd614cdb7c4739e47493b10f99fd24d833d982fd27643cdd37c915ee455f009d7ac399b6f88d73c8e927621f33fa49b067b305fa4ec879ba6f922bdc8abe013af587336df11a73a42afb9aa0eaac6026f75e0252c58b9fb73b2157bab97d0275eb0f66dbe233735aaea40ba458108d1416b3fb03b311ebb0d23faf7716fb04ebd61fcdb7c46572c7b5f4edab32d8e6ee555fec658e1e83a4007c5eefd1f709d7ac409b6f88c971a1c496b1b8e8699aa2d2b7cf294437b38a5cf5bde147ef13af588236df11916f55e1da39d4538b020bcd6794b0b06a135715e87bc433df275eb1056dbe23216abe1c614a0b29cdd0ddc2c71fbf88ced2f087cdf78a0bbf4ebd620bdb7c4641618e916f6a78d6536e81ad8635dd399852236b98ef15bb7f9d7ac418b6f88c814f2f7b8bab542f5ea9c9830462189b2b5089332ede2d1b003af588326df119012a714fc42d0ae17520592e00ba8f5e514d54c25abc5bda0175eb1065dbe2320154e29f885a15c2ea40b25c01751ebca29aa984b578b7b402ebd620cbb7c4640235d797bd8a8e088c4e2adffae09ba13fe1956567f1710c06d7ac41986f88c8036baf2f7b151c11189c55bff5c137427fc32acacfe2e2180daf588330df1190066370b7a3009aa4e90571a7e378ccacfa3297f19cc5c5d41c5eb10662be23200b52f3c7f2d797cc89d7a977bee7f781ef11723f368b8d4c39bd620cc67c46401531f9e89285921bcb7c191775c64d2bd8cf26da6a171c3c747ac4198df88c802963f3d1250b243796f8322eeb8c9a57b19e4db4d42e3878e8f588331bf119005253f9faf6ecaaf1e5bd2a85cf0f92d75de8ddc5a55c7295d2eb106638e23200a334064e9aafb86683471b33961583d6b67dfde747b8e6cfa6d620cc72c4640145680c9d355f70cd068e36672c2b07ad6cfbfbce8f71cd9f4dac4198e588c8028a5c2b931795441cc4e932f6504c6d82d4a439f91be39ce29c588331cc1190051344697edc00eabc419f2c14988f392da3f4b64e34c73b6939b106639923200a2514e55664d837fb3b0b1e512914d0834295aef8668e787674620cc7334640144929caacc9b06ff676163ca25229a106852b5df0cd1cf0ece8c4198e668c8028925395599360dfecec2c7944a453420d0a56bbe19a39e1d9d188331ccd19005124333d0bd398225c9025b8b1409ce2420f59ba1f3173c557a41066399b3200a247667a17a73044b9204b71628139c4841eb3743e62e78aaf4820cc73366401448e590687fb36ebf4f863a8ecfa69e73038132ad8c2cf1702914198e66dc802891b3e1f68a3443a6ca8941801ecca2c886ad2980d829e2fa9238331ccdc90051235085129f35ed75c08f4f62bd18ab738d0517277023c60f648066399ba200a246910a253e6bdaeb811e9ec57a3156e71a0a2e4ee0478c1ec900cc73374401448d22144a7cd7b5d7023d3d8af462adce34145c9dc08f183d920198e66e8802891a442894f9af6bae047a7b15e8c55b9c6828b93b811e307b240331ccdd1005123481124f7e2c3d843471c28e510a1d1b4ffc369cc20c611088166399ba300a2468f2249efc587b0868e3851ca2143a369ff86d398418c221102cc73374601448d1e4493df8b0f610d1c70a394428746d3ff0da730831844220598e66e8c02891a3c153a17c2f5249cf0ae0d507d04ebcff8c790bd033089e80c31ccdd19051234772a742f85ea4939e15c1aa0fa09d79ff18f217a066113d0186399ba320a2468ee54e85f0bd49273c2b83541f413af3fe31e42f40cc227a030c73374641448d1dc35e316c47f876a3d3d30abe01dbca7c0e8c844168450e4628e66e8c92891a3b76bc62d88ff0ed47a7a6157c03b794f81d190882d08a1c8c51ccdd1925123476e639eb3bed4802bacc188d7786d50c6fe4f636c571145358b399ba325a2468edb534fc02a7f62da114fd7d6e8d0ffb5f74b0934ab228c0f177337464c448d1db532b1d901d52836da6c75d5c9985d93e94254c5534519c22fe66e8c99891a3b696563b203aa506db4d8ebab9330bb27d284a98aa68a33845fccdd1933123476d256d9bcb42b035e217e9d7f1e57d4779fb595714a1468acc099ba32672468eda339c5d2152c693efaca012634a607173a176d3e9128d2fd82337464cf48d1db45738ba42a58d27df594024c694c0e2e742eda7d2251a5fb0466e8c99e91a3b68a7329a10188077ea2f4cac0ca8e7a84e309f75641a34d9a09cdd1933e23476d1372659aafe6717ffdb65ba98d135331c0c0310880469cd8149ba3267d468eda2570dd8e0ca34582b3397d7b121d048b7c2ca46cfd8d3b542a37464cfb8d1db4496dcd74c61ced881e3fc11e1c30673ef3058b35f81a784c556e8c99f81a3b689167ad4239103d92f44c486430572ca5e0b758c7ed34f23cabdd1933f13476d1215b6cdd1ef6dda8a06556f058a4b773bc1af3ebd769e61d58ba3267e368eda24142ec12eac41dd3f8977408a93fcd0f72e22a33abd3cddeb27464cfc7d1db448111ea7e825e9e2aa8fbae394a75f846e07096c354a79d6165e8c99f90a3b6890123d4fd04bd3c5551f75c7294ebf08dc0e12d86a94f3ac2cbd1933f21476d120247a9fa097a78aaa3eeb8e529d7e11b81c25b0d529e758597a3267e428eda24041b664cbfcb53d7ffaa37f24ba6205efe30f876a23cecaf30464cfc861db4480736cc997f96a7afff546fe4974c40bdfc61f0ed4479d95e608c99f90c3b68900e6d9932ff2d4f5ffea8dfc92e98817bf8c3e1da88f3b2bcc11933f21876d1201c6744beab310142b51e85ba5527611fec3406110ee7671d833267e431eda240375a9bd6033865082209d19ca2452067d3144e7e1acecfdf0764cfc864db44806d414a04b3472c92fbe069613c809ef7a0d4df58329da1620fc99f90cab68900d90ea6621364bba8af8d98ea70f79c173c56010c623b446820933f21966d1201b11d4cc426c977515f1b31d4e1ef382e78ac0218c47688d041267e432cda2403623a99884d92eea2be3663a9c3de705cf158043188ed11a0824cfc8659b44806c401456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c0a2b4a3fe1fe41a1cc6bdbfd99f70eeae255f876d127282ccfc865a344806c381456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c02ec6fcaaf6469cd49383e7d195cf16a8d1a1e36a127426cdfc865a354806c37f5d8df955ec8d39a92707cfa32b9e2d51a343c6d424e84d9bf90cb46a900d86fe472e4b58af7cf60a1ad5c73e4d9a829df2c9e9a549d23f38f21968d6201b0dfb1a6eef5e355c6ecc0271b67491932d3691d62f4793a62272e432d1ad40361bf534dddebc6ab8dd9804e36ce923265a6d23ac5e8f274c44e5c865a35a806c37ea69bbbd78d571bb3009c6d9d2464cb4da4758bd1e4e9889cb90cb46b500d86fd45f89d39e8145f917e053db9c82f791af3af3d6399d32b79821968d6b01b0dfa74b25ffe9d8ee74e78d6ddf30fc4d4b59222a08703a671331432d1ad70361bf4d225e5880883f6c86e7a1e659eef8beacf0966cdd74cfca63865a35af06c37e9944bcb101107ed90dcf43ccb3ddf17d59e12cd9bae99f94c70cb46b5e0d86fd32158bbaaef76034d36b4dc15fb24122ae6e9c0f72d340cd8f1968d6bd1b0dfa632b17755deec069a6d69b82bf6482455cdd381ee5a6819b1e32d1ad7a361bf4c6562eeabbdd80d34dad37057ec9048ab9ba703dcb4d03363c65a35af46c37e98c38702e2491642953273432f588673d6e2122d7939a081079cb46b5e9d86fd31770e05c4922c852a64e6865eb10ce7adc4245af27341020f3968d6bd3b0dfa62e6dd3113f1bf328046996f3ce17fb1db330cdba4b6821e5e82d1ad7a861bf4c5b67b87b2b0e48d2c09ff40f94265463610dddd093d0456fd15a35af51c37e98b55b834f02f2f428390cae47204306eebcc7fdfd24a08c83a3b46b5ea486fd31694318f6b2bc4ad329e622b6387c6c05743c3e5646411aab4868d6bd4a0dfa62d1124446124ef8290b990b9468ef3632e324bf08898236fa91d1ad7a951bf4c5a124888c249df05217321728d1de6c65c6497e1113046df523a35af52a37e98b42491118493be0a42e642e51a3bcd8cb8c92fc222608dbea4746b5ea546fd316841e34893f4e23cb149522cb3f700fbf13d23aa04911b9788f8d6bd4a9dfa62d073c69127e9c4796292a45967ee01f7e27a47540922372f11f1ad7a953bf4c5a0e04e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b09c8fb541de35e1442a2a9eb6d3a4893ea59ba428dcf0c7e6b5ea550fd3168361391f6a83bc6bc28854553d6da749127d4b374851b9e18fcd6bd4aa1fa62d06c2723ed50778d78510a8aa7adb4e9224fa966e90a373c31f9ad7a9543f4c5a0d84e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b028a20deeb49863fbf6f0c6aeca02b13951de0025dcf26be7b5ea5510d316835f51441bdd6930c7f7ede18d5d94056272a3bc004bb9e4d7cf6bd4aa21a62d06be2e9a9067a8c412a7a88942b31e68ecdff3ba5c9473cb539fd7a954444c5a0d7b5d3520cf5188254f511285663cd1d9bfe774b928e796a73faf52a88898b41af6467c9a4b7972cd566eeb32c47001db7a7b2bce4ecf2ef2805ea55112316835eb190b8d43c9481d64aa9c8d80d661deefa299f89a9e5f8901bd4aa22562d06bd532171a8792903ac955391b01acc3bddf4533f1353cbf12037a95444ac5a0d7aa642e350f25207592aa72360359877bbe8a67e26a797e2406f52a88958b41af54546ec2cb20a36ddd21aa93fea96d1f77c11220d1f2fdec0eea55112c16835ea734efde4317a95e72101b4ff5493866ea2e669da0e5fd7c1ed4aa22592d06bd4d69dfbc862f52bce420369fea9270cdd45ccd3b41cbfaf83da95444b25a0d7a9a5fd1d1b93507fc800d3367cd1b3fc3a365dcd28097f7947c52a88965b41af5334bb5fc1f40727bb7e72cf7922cddaf4177fc00fe2ff0ccf9a55112cc6835ea65237e50eb57477a279b20171c5019867d9c3a5df95fe33df44aa22599d06bd4c946fca1d6ae8ef44f36402e38a0330cfb3874bbf2bfc67be895444b33a0d7a9921a0b9c5a33806b563946846936c441f11d2bd3e27f8e9bd22a88966841af5323341738b46700d6ac728d08d26d8883e23a57a7c4ff1d37a455112cd0835ea646682e7168ce01ad58e51a11a4db1107c474af4f89fe3a6f48aa2259a106bd4c8c5c6f3b7e7265dd6996fa4b41ac80378395a0fb10fc7682925444b3430d7a991744f0cfa9bb2e3d8afababe7b4f5e9701d784521ef8eea925a88966871af5322d15f3f8004cbefdcdc23ba4ee951b55fe5b4b003af1def64c5112cd0f35ea64592be7f000997dfb9b847749dd2a36abfcb6960075e3bdec98a2259a1e6bd4c8b257cfe00132fbf73708ee93ba546d57f96d2c00ebc77bd931444b343cd7a991643bb218af3c5a7125dea34f6c9f38d7ed869a5dd48ef956638896687aaf5322c703768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a0dda282d3c5d940e28331b44d33f5f56e5dc5e9877d1432044b343d97a9916341bb4505a78bb281c50663689a67ebeadcbb8bd30efa28640896687b2f5322c683768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a069b4db809c3bc39a4ff7dc452a541d690a0845847d15d6054b343d98a991633f5f7c0fae0eda09ec6cb5e0824b0662ccc052e705fa2d500b96687b325322c67d4b0a7808f4169690a631e8fc8c6aed942ce82a08f45c44182cd0f665a6458cf9222748bebe8fafd91929f9f10f3403230612b00ee8ba2c3159a1eccc4c8b19f1444e917d7d1f5fb23253f3e21e6806460c25601dd1745862b343d998991633e214af7ba7d0a1421c316e0fbc332e3486c48d1c38a2ea54c66687b332322c67c3295ef74fa142843862dc1f78665c690d891a387145d4a98ccd0f66646458cf8652bdee9f42850870c5b83ef0ccb8d21b123470e28ba953199a1eccc8c8b19f0c318e35eb5b6c93995836a5d98fcfcc30d0ab3dc217544a34343d999291633e17631c6bd6b6d92732b06d4bb31f9f9861a1567b842ea89468687b332522c67c2e524b305a4414d11d2da0bf5e359d58bdeeef53055d52ccd1d0f6664b458cf85b30a8b9615e8c24f22807a6b46198d9768a210207baa73da4a1eccc978b19f0b5615172c2bd1849e4500f4d68c331b2ed1442040f754e7b4943d9992f1633e16a4eb53e32509316806ce4c2c97cc18dd4d4c6641bea9e9a9387b3325f2c67c2d3297cd5117788afb8a68fad8aefe143a455cf2434d53ed9280f6664bf58cf85a552f9aa22ef115f714d1f5b15dfc28748ab9e4869aa7db2501eccc97eb19f0b4a3205acf2b485419a6704de23b5e3368c037eecd054fd08a13d9992fe633e1693640b59e5690a8334ce09bc476bc66d1806fdd9a0a9fa11427b3325fcc67c2d2654290c77a877892168d9a086cdeb022aba3e0f3e53f5c685f6664bfa8cf85a4b3464719c275194fa9e79690592342c5020be7a79a7ed310ceccc97f619f0b49568c8e3384ea329f53cf2d20b246858a0417cf4f34fda6219d9992fec33e1692a5da41f1d73a8d6a246abcc0e3f2ed93b2f3c45e39fb66834b3325fd967c2d253475a96e7bdb42ffc5a1dc01474bbda710abae7c43f6e746a6664bfb3cf85a4a51ac7867c51cae2b08101a820dfd5dcdcc1b82b857ede8cd5ccc97f689f0b4949358f0cf8a395c56102035041bfabb9b98370570afdbd19ab9992fed13e1692926b1e19f1472b8ac20406a0837f57737306e0ae15fb7a33573325fda27c2d2524624e8c8f64b9983bd4d368fef50d0ee0ba03b828f6f60aaf664bfb45f85a4a4750af71cb9fd5b32f766cf9f5e07845bc2049cc4eededb95fcc97f68cf0b4948d2d713c44160de916b9a01be3b74eb372ecd5f49adbdd16c0992fed1ae16929195ae278882c1bd22d734037c76e9d66e5d9abe935b7ba2d81325fda35c2d2523241d749bd2e9a2712b3469786d398f5c65f9a2e686f75ff0364bfb46c85a4a4630fc0ec273396d0dd335357059d9013876b76b8cddeeda207c97f68da0b4948c51f81d84e672da1ba66a6ae0b3b20270ed6ed719bbddb440f92fed1b41692918a3f03b09cce5b4374cd4d5c1676404e1daddae3377bb6881f25fda3682d2523140a19b9e6731909a16760e024e2dec43607f8226bf76eb43f4bfb46d15a4a4627143373cce6321342cec1c049c5bd886c0ff044d7eedd687e97f68da2b4948c4e2866e799cc6426859d8380938b7b10d81fe089afddbad0fd2fed1b456929189c50cdcf3398c84d0b3b07012716f621b03fc1135fbb75a1fa5fda368ad25231382dadf71407f31cce42d42a46244a6b5b2bc482bc76ece7f5bfb46d16a4a4626f5b5bee280fe6399c85a8548c4894d6b657890578edd9cfeb7f68da2d4948c4de42ca34fcf62ef5f0d816d1108787d5675b5466eedbb543d7fed1b45b929189bb11a6c2a6c2c06e997cf3ca19056dd2c962eb29dab76c2bb0fda368b825231375234d854d8580dd32f9e794320adba592c5d653b56ed85761fb46d1704a4626ea469b0a9b0b01ba65f3cf286415b74b258baca76addb0aec3f68da2e0948c4dd419486de2ec65f783b46478c021ccbe45c39baad2bb630188ed1b45c229189ba73290dbc5d8cbef0768c8f18043997c8b873755a576c60311da368b845231374e6521b78bb197de0ed191e3008732f9170e6eab4aed8c0623b46d1708a4626e9c5655c7c439923ed56fe9edf904c41a28c91fb292db19b04868da2e1248c4dd3738bde83549870062ac9a03e9ffe65c4c3e81c122b6350491d1b45c259189ba6d717bd06a930e00c5593407d3ffccb8987d0382456c6a0923a368b84b231374da6f09f981fc7e84427f2e379ff5f7992ba6496087d8d5b64846d170974626e9b36a264bb0cf5f8b3ccb229737e24d5a51f8d51d0cb1ad10918da2e12f8c4dd365605ef00e75219931630b5667baf8dc9e9dec9616635bc5241b45c260189ba6c94cd038c9c0a5b51a92dcd4c76c4fe137e81b8829c6b92e49368b84c131374d9125b2ca4057adececf27fd186cefdea6a7c796c508d7400936d170983626e9b214b659480af5bd9d9e4ffa30d9dfbd4d4f8f2d8a11ae80126da2e1306c4dd364222dd81ae351a366b96c56e133255d1a49e280d3f35d1a64eb45c260e89ba6c8345bb035c6a346cd72d8adc2664aba3493c501a7e6ba34c9d68b84c1d1374d90617885f65aacb5c6627dbe044bfb56e8d24e290f9d7483d3bd170983b26e9b20b2f10becb5596b8cc4fb7c0897f6add1a49c521f3ae907a77a2e130764dd364165e217d96ab2d71989f6f8112fed5ba34938a43e75d20f4ef45c260ec9ba6c82c485553da2cbd65e90ba52a1df4099c63d356e3cbba438ddf8b84c1da374d90571cbd00612fdd4e89e4107c33de7160c252f023947488bfc0170983b56e9b20ad397a00c25fba9d13c820f867bce2c184a5e04728e9117f802e13076add36415a72f40184bf753a279041f0cf79c583094bc08e51d222ff005c260ed5ba6c82b471fa5bb6554cf706ed4a0996e9e92e0d43c378a0a447a201b84c1dac74d905677007101980fc70c5a75a3b25ca30841533c94d3e4890e80470983b59e9b20acd6c2078dfd85b64431b7a9e438abf302513d4f67991237409e13076b4d364159964534a6c87194b3e03bb647f0bdc8844d3ec48f022488c14c260ed6aa6c82b3154b8ed85e4951933d43cf0f60e173884541aeddd4492bc2a84c1dad64d905661358433b89f8cb51f754009e4128c9903547837b789271c560983b5ad9b20acc16b0867713f196a3eea8013c825193206a8f06f6f124e38ac13076b5b364159826223278f54955735a1c64f8840908c07fe233adb249e1559260ed6b76c82b3035058a7cb7f8d31231052c708777f400aa888d1b3493dceb34c1dad6fd90566052cc3a843d57ce4fded6bb608e55ca80ffd53ff63927d4167983b5ae0b20acc0959875087aaf9c9fbdad76c11cab9501ffaa7fec724fa82cf3076b5c1641598123f20f9bc2c5616af8275001b8bd0c83aa192598b49f6a99f60ed6b83c82b30230a544c252f0eb016d1b0282f0dffb86fef670f1393eef73fc1dad7089056604514a8984a5e1d602da360505e1bff70dfdece1e2727ddee7f83b5ae1120acc08a29513094bc3ac05b46c0a0bc37fee1bfbd9c3c4e4fbbdcff076b5c224159811452a26129787580b68d8141786ffdc37f7b38789c9f77b9fe0ed6b84482b3022831571affc74d8424e7c8aae8d659aef9a2b34d363ef117fd1dad708a0566044f62ae35ff8e9b0849cf9155d1acb35df345669a6c7de22ffa3b5ae1140acc089e516ec4abf398934b6be8d39b4fc4e3e1370f90d5fbc603f576b5c2291598113b2eefe204bd93a94ea497cf2e95e7efbd1a617da8f78dabebed6b84532b3022755ddfc4097b27529d492f9e5d2bcfdf7a34c2fb51ef1b57d7dad708a6566044ea47d1e0bfccb127f25f2564b24dfde6ef15c852a0de3853b0b5ae114dacc089d31bb61a2c6fc4d29c8b10f15c9259f5d8d7d3013ebc724b626b5c229c598113a5376c3458df89a5391621e2b924b3ebb1afa6027d78e496c4d6b84538b302274a6ed868b1bf134a722c43c5724967d7635f4c04faf1c92d89ad708a7166044e9469c32a105489179c254db2dc892dd6c16ada65f2e393ff145ae114e3cc089d275f98accd7f74b1f017618db108b9d57d81f727e2c729a229b5c229c898113a4d4b43b247d54be697fb89435a07d1d2f5b030abc28e54e8546b845392302274992299bd3c80fa4fe7c3d8aeac0601cde60ca3b3821cab74a9d708a7256044e93145337a7901f49fcf87b15d580c039bcc194767043956e953ae114e4ac089d26216794d9eda4bc256dc28e2a80e655f92ded12a0572af76a85c229c968113a4c32cf29b3db49784adb851c5501ccabf25bda2540ae55eed50b845392d0227498659e5367b692f095b70a38aa039957e4b7b44a815cabddaa1708a725a044e930c3fdcc5a3a8c0956eae0d3d3869892491a2cbac28957d5943e114e4b5089d26170bcbe3f427e3ad9528e0a268c970711df1d9b44e2afc5688c229c96b113a4c2d1797c7e84fc75b2a51c144d192e0e23be3b3689c55f8ad11845392d62274985a2f2f8fd09f8eb654a38289a325c1c477c766d138abf15a2308a725ac44e930b45e5f1fa13f1d6ca9470513464b8388ef8ecda27157e2b446114e4b5889d2616848d097ef549d5c0a5ad04e848d6539d9c9dda0dfafc70c8d229c96b213a4c2cf1db3888b7f9d3acc8266c50111289bae3ffd9dbc5f8fbd1b45392d652749859d3b671116ff3a759904cd8a022251375c7ffb3b78bf1f7a368a725aca4e930b3a02e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce60b81eb6b535db7a75984eff0ec025aceb0e34bb9f90261b85392d656749859cc1703d6d6a6bb6f4eb309dfe1d804b59d61c69773f204c370a725acace930b3982e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce6044310f620c3dfd2d65152706b683d4e5ba77179c9027bf86392d656849859cbf14747770eede7d1296f076056365d1c621308b362051230d725acad1930b397d28e8eee1ddbcfa252de0ec0ac6cba38c4261166c40a2461ae4b595a3261672fa51d1ddc3bb79f44a5bc1d8158d97471884c22cd881448c35c96b2b464c2ce5f42fb614344d566b4c8449d823118cb62bb5c6b5ae028abc6c92d6568d9859cbe75f6c28689aacd6990893b04623196c576b8d6b5c051578d925acad1b30b397ce4aeaa97e0bbc2fe9dded88843c9100a9835d32b50a2c95b34b595a3761672f9b21e7aba8eddae28b88a139006f80294db2fcc167145acf6796b2b46fc2ce5f3543cf5751dbb5c51711427200df00529b65f982ce28b59ecf2d6568df859cbe6a13b107508dce0ce5ef4b0bf9b45ecd3178356199516ce19f5acad1c00b397cd327620ea11b9c19cbde9617f368bd9a62f06ac332a2d9c33eb595a3801672f9a64ec41d4237383397bd2c2fe6d17b34c5e0d5866545b3867d6b2b47002ce5f34c299a933144d2e9e7471e87c5995491866ded68c78b68b0fbd6568e0159cbe6975335266289a5d3ce8e3d0f8b32a9230cdbdad18f16d161f7acad1c02b397cd2e327ca571e9ae2a54e940470e5bb06e1463f7ff1b2da467f0595a3806672f9a5b64f94ae3d35c54a9d2808e1cb760dc28c7effe365b48cfe0b2b4700cce5f34b65604ee747d1b2c0b71c74431651fe04c3c225869b69343c26568e01a9cbe696b381c3595d098daceb054b05ac09de89324870cd06d282b85cad1c036397cd2d570386b2ba131b59d60a960b5813bd126490e19a0da50570b95a3806c72f9a5aa6c832f0418c5edf28e18e962f8d5ca473e5e8f3eb4a252182b4700d9e5f34b536518b6b507ee5e9ce8f7fabde809bc8928ff7a7a69464831568e01b4cbe696a55643c616e63f3ff19eb61d73c671a10cfe4150f1d28e3463ad1c036a97cd2d493899e4daa2e1029b0a3262df83416a14a8c4fde0a51e0cc85a3806d62f9a5a917133c9b545c205361464c5bf0682d4295189fbc14a3c1990b4700dac5f34b5226e79ec1761e68d23f58fb3760363d04d4f56537f9479d72268e01b59be696a43690630db9a2f9cffb7e58ee3fd25c8954aef02fc28f55245d1c036b47cd2d4855e1eba640ac1bcb73c9145bff0a9b925422061f551ec488ca3806d69f9a5a909484fcd74ebe5fc2645e8b377d7b19a4530831fe7a3da351a4700dad4f34b52111cb1f396ae2e7b0458978ee7a5c15c850d489bcc47b60e358e01b5aae696a4213963e72d5c5cf608b12f1dcf4b82b90a1a9137988f6c1c6b1c036b55cd2d484272c7ce5ab8b9ec11625e3b9e9705721435226f311ed838d63806d6ab9a5a908471a1f56247d65ada91829f3524690c2316873a5f3db215ad700dad5834b521076f564371660f386cefcb66623f304040d950d0bb7b65cf5be01b5ab1696a420d6abedf8fa280f391ac5cf4bc74bea87c5ee3fd73f6cd42b8c036b563d2d48419619017cc1b6469db25801170dfdb78f36a0a56e4ed9c2972806d6ac8a5a908314f3288450d2b566e17c64ad9b61519e1805709c6db39f6e600dad5924b5210612a776936f0b92f93fc52bdab62885bbdacf06f8ab67591cd01b5ab2596a420c154eed26de1725f27f8a57b56c510b77b59e0df156ceb239a036b564b2d48418235effd8899474107be111ea5807f96f160041a27d9d7eb3506d6ac975a9083036bdffb11328e820f7c223d4b00ff2de2c008344fb3afd66a0dad592eb521060663d24ecf3b7f86d6c50aa28df85c83c02c52c49c676150d51b5ab25e6a420c0b53b6f64b4d61906556db6d13e7172f7b04e7e535cec445ab36b564bdd4841815338045437125a3827a7d021fc48c86f0b61226689d8a2f576d6ac97ca908302967008a86e24b4704f4fa043f89190de16c244cd13b145eaedad592f9521060525a136dba9af910c1b6ba3077089043bd848af59f762a615eb5ab25f3a420c0a3403934220c54a43b3a3a88e6077eaf75b558473bec5666be6b564be8484181450c84c0f0ef0bcb2e413b39c4055b86e616f2ea74d8ae717dd6ac97d190830289190981e1de17965c827673880ab70dcc2de5d4e9b15ce2fbad592fa321060512321303c3bc2f2cb904ece710156e1b985bcba9d362b9c5f75ab25f46420c0a2464260787785e597209d9ce202adc3730b79753a6c5738beeb564be8c84181448545e67bbc71f359be079c4384c16965c1b71034a8ae8bbde6ac97d1a0830288f34cf282464a0edef8db9b0688e8b54b2e324629215d31bbdd592fa351060511d699e5048c941dbdf1b7360d11d16a965c648c5242ba6377bab25f46a20c0a23a5f4ef93e68e63a7603ace99a308b7ac638d3e645574e12f8564be8d5418144734ab04b29a82ef7a3d41ffb2c57751d871dea2887ae9dc9f1ac97d1ab830288e52172ef0026c071ff75061e50a5486308e816ad0c5d3d37e4592fa358060511c942e5de004d80e3feea0c3ca14a90c611d02d5a18ba7a6fc8b25f46b00c0a239211de14ad71644ab5a0dea13a8b7fb41e4c9d102e74f6839264be8d611814472323bc295ae2c8956b41bd427516ff683c993a205ce9ed0724c97d1ac230288e46477852b5c5912ad6837a84ea2dfed079327440b9d3da0e4992fa358460511c8c1b02fe186184d864d3bb31cc525bc8ed112add70a7b5c09425f46b09c0a239173605fc30c309b0c9a7766398a4b791da2255bae14f6b81284be8d6138144722e6c0bf861861361934eecc731496f23b444ab75c29ed7025097d1ac270288e45c642a496fe28945de6a9fb65a893c6f63359947823dafa8a22fa3584f0511c8b75466eb8c9b750e74a20594ad08d706c11774eb017b60f5455f46b09f0a23916d34e02fc60d4c9fa110d15152080c357cdb2c31fff6c38e8bbe8d613f144722d969c05f8c1a993f4221a2a2a410186af9b65863ffed871d177d1ac27e288e45b25f9317c50b95013c100b6d40168efdee18f323fcdb0fde2ffa3584fd511c8b634b388836ed8c852fecdd0278237c23d6de28a3f6b6216060f46b09fba23916c52283691ab17b8d17a6802ce83d566fa86893a3ea6c4464c2e8d613f844722d894506d23562f71a2f4d0059d07aacdf50d12747d4d888c985d1ac27f088e45b12161ffd179c50b71666c6db98ebb7e69c4e90eba6b113370ca3584fe211c8b6232c3ffa2f38a16e2ccd8db731d76fcd389d21d74d62266e1946b09fc423916c46587ff45e7142dc599b1b6e63aedf9a713a43ae9ac44cdc328d613f884722d88c3d124169b8e83b6b02fd04bf541d5cdd20c9b932889b5c661ac27f118e45b1170636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d0c6db7009065f31ba58062ed3d31c369dbab9cc42270b99a6b09fc483916c45a18db6e0120cbe6374b00c5da7a6386d3b757398844e17334d613f890722d88b431b6dc024197cc6e96018bb4f4c70da76eae731089c2e669ac27f120e45b1168636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d052edc8b5dcc1b47224cc56cbc97a5e9866fc283f270d3da7b09fc484916c459f31edea188fe5eb9c165ed58f8952e52b7a3aac7b4e1c1f50613f890a22d88b3d63dbd4311fcbd7382cbdab1f12a5ca56f47558f69c383ea0c27f121445b1167a53ca010f15fa312826417e361ba9bca8952d0dea3872214284fe24298b622cf333a65acb0256e508194924642db1a14bd69c77d170e5e68609fc485416c459e5674cb59604adca10329248c85b634297ad38efa2e1cbcd0c13f890a82d88b3ca5aabc3d8dfbe16d831eab988ad24ad2a06b43b42c3993e1927f121515b1167934169e05e95deb068309b9b0950a7824eb9aad282873420334fe242a3b622cf250ee6196a021fe3882dfd5e0a97ad2c981f9801020e69e4679fc485486c459e491dcc32d4043fc7105bfabc152f5a59303f3002041cd3c8cf3f890a90d88b3c923b9865a8087f8e20b7f5782a5eb4b2607e60040839a7919e7f121521b1167924034323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e0d0c8ff39d867be4f2c46132cf1e32eea4099035cd431cf7f890a91188b3c91c1a191fe73b0cf7c9e588c2659e3c65dd4813206b9a8639eff12152231167923834323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e05cdb57e6aeca4106f90c3b24e84156e4ecdb5f59d4337380890a91198b3c91bf45c9087a33f704c5bede9e41c6e0d5c485f91ab0a8688b02121522341679237d17a469a13e508c434a83647b841fd383b834915e50d2ba05242a44692cf246f92f48d3427ca118869506c8f7083fa707706922bca1a5740a485488d259e48df25e91a684f942310d2a0d91ee107f4e0ee0d24579434ae81490a911a4b3c91be44935a5b6c8e6e4d220e14bd4175cc4186de6e6ef8697742a2152234a679237c71e7da41a68304c5c0e88bfa02517b02b881029dc0d308c5542a44695cf246f8d3cfb4834d06098b81d117f404a2f6057102053b81a6118aa85488d2b9e48df1a0608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be330c11d22cee4768500dd24cf11579d151990606da6987aaac152234b079237c661823a459dc8ed0a01ba499e22af3a2a3320c0db4d30f55582a446960f246f8cc304748b3b91da140374933c455e7454664181b69a61eaab05488d2c1e48df198608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be3304d2f7b7bbad907b8a9eaf7094dfb3d143ca2c9a3987c4ec252234b089237c65f26714fa44c149229209c160a9254a2232587ef4430fa4185a4469612246f8cbd4ce29f489829245241382c1524a944464b0fde8861f4830b488d2c2448df197a25d7973e06b4cb5c4f3680223fb0b0874262190dc3eaaa17911a584991be32f34baf2e7c0d6996b89e6d00447f61610e84c4321b87d5542f2234b093237c65e62370b5a4f135b02909a02880f520ea17b5cac0340fac4c5f4469612746f8cbcb46e16b49e26b605213405101ea41d42f6b9580681f5898be88d2c24e8df1979619d52f409b39435bf346c9fbcae1d059836d5ccd3eb2d57e11a5849e1be32f2b33aa5e81367286b7e68d93f795c3a0b306dab99a7d65aafc234b093c37c65e566754bd026ce50d6fcd1b27ef2b8741660db57334facb55f8469612786f8cbcac5abbd2b1b02c9d9766fc77d64d6caac6c7ad4266f5984ff18d2c24f1df1979574189fe1036bbbde69abf17a491377d883b9ce0caeb3243e41a5849e4be32f2ad0f2654cd43d9fe850244574118cd230b237c1d92d6662bc934b093ca7c65e5591e4ca99a87b3fd0a0488ae82319a461646f83b25accc579269612794f8cbcab23c9953350f67fa1409115d0463348c2c8df0764b5998af24d2c24f29f19795640544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac70a89fe2dea64edbfbdd1c401798e80a790469127666604954b093ca9c65e558e1513fc5bd4c9db7f7ba38802f31d014f208d224ecccc092a961279538cbcab1c2a27f8b7a993b6fef7471005e63a029e411a449d999812552c24f2a719795638544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac7034b23b8b7cb15eb3a9e2680f8f463273b0ab6e736661ed55b093ca9d65e558df69647716f962bd6753c4d01f1e8c64e76156dce6ccc3daab6127953acbcab1be5edb46dac927fd86744fc8363376f1c96ef015ca99895957c24f2a769795637b49c8e66268b27dc4b565b8645d4c0b8d8a228792331456b0849e54ee2f2ac6f51fa42571a7c77e41379198c0b0f63f15c0876b21662a5162093ca9dd5e558de93f484ae34f8efc826f23318161ec7e2b810ed642cc54a2c4127953babcab1bd20aa2ee7375807bbcab0c8afaba372451ae60088298aae98924f2a776795637a31545dce6eb00f779561915f5746e48a35cc011053155d31249e54eecf2ac6f462a8bb9cdd601eef2ac322beae8dc9146b980220a62aba62493ca9dd9e558de8c5517739bac03dde5586457d5d1b9228d73004414c5574c4927953bb3cab1bd1836413fe42e6a3e827d8ed7a399d06d159242e4268ab03c934f2a776895637a2f6c827fc85cd47d04fb1daf4733a0da2b2485c84d156079269e54eed12ac6f45e6517583d900b7cc1c30186865d9fdc50f54dec972ac2964e3ca9dda3558de8bb56410927f6797c3b52c93504b19de09c96de352b5586d09d7953bb47ab1bd17538946afcc3557b2e725892015999e933d9fec653ab0f453bf2a776905637a2e97128d5f986aaf65ce4b12402b333d267b3fd8ca7561e8a77e54eed20ac6f45d26e64049fe3b86f7196286ffd5cc5ccca143d754bac3eb8f0ca9dda4258de8ba368da61ec9dd3619af91707f2afe9c18ed4bd4694587f15e2953bb485b1bd17455dc71c86120945edbef437dd5631ab1855bce925b0ffcfc62a77690c637a2e8947a091b8fa750e934aae97b2a2c17e2b57bc2e486201438d54eed219c6f45d111b537c1ecb4c9fde6223575d3be124515bbab88dc4042b1ba9dda4348de8ba2136a6f83d96993fbcc446aeba77c248a2b775711b8808563753bb48691bd174426d4df07b2d327f79888d5d74ef8491456eeae2371010ac6ea77690d237a2e88466ae39a330c781aadde0e2e1d5674a858a18206b2022fcde4eed21a56f45d107596ecbf337f1860d8887edbba12cbd05c0729cd340479dbd9dda434bde8ba20d3eeff09346458ed2ddd6036f38b7a2062d2795a38090df7c3bb48698bd17441909f239d362eda05d88722ed667cd6c0706918744012362f977690d327a2e883113e473a6c5db40bb10e45daccf9ad80e0d230e880246c5f2eed21a64f45d106227c8e74d8bb6817621c8bb599f35b01c1a461d10048d8be5dda434c9e8ba20c44f91ce9b176d02ec439176b33e6b6038348c3a20091b17cbbb486993d17441882b35f5e3053c889053e9155e7334e86b155ad03d1237d3987690d328a2e8830f566bebc60a791120a7d22abce669d0d62ab5a07a246fa730ed21a65145d1061e38ea3038eb54a4f91c6a7d71c331c9a701ad9cf148e0f262da434ca38ba20c3b71d46071d6a949f238d4fae38663934e035b39e291c1e4c5b4869947174418766fbb199083b5169c3e701dbf03254e96b2f8cfc223856d8c690d328f2e8830eb6b888bcdddccaff049a66375fca8c5281233fb81470c7f19d21a651f5d1061d56323704891fbe2986012eee3efafb24ad0aa52ff8e1aa234a434ca3fba20c3a95259393dfa5a47e88cec05bfd5bd8c904d9701fc1c36e86a486994807441875130c4cb28cb171288e69e3377a1d9411b47705ff5386f74d590d32901e8830ea161899651962e2511cd3c66ef43b282368ee0bfea70dee9ab21a65203d1061d424f25855002beccdb673ef5d67dc32c67ca03dbd1e1bf7757434ca408a20c3a832a5d634cdbe01c6e9b4413a4f1e480ca404a13a0c38092af869948124418750554bac699b7c038dd36882749e3c90194809427418701255f0d3290248830ea0a3587e5e045e2f47239d6768bbdf02b23ad6aaa800e03eebf1a65204a1061d4136b0fcbc08bc5e8e473aced177be056475ad555001c07dd7e34ca409420c3a8266231f02dedee5480b4200226ee1ed48961ed05fd38115efd699481294187504b50763908b23f2bb935062c45d29bd10d701c67f7702461fbd3290253830ea0952cfecabe3ae0da2a36d280839b95ca158c7b2bebe04a67f8a65204a8061d412959fd957c75c1b4546da50107372b942b18f657d7c094cff14ca409500c3a8252400d83a5c1e5eb60a8102a0664b55050de2f0bac812b43e3994812a1187504a30c2d5ff85a2e59791ce67c04bfc8c89c68a0735602582bc83290254330ea0945185abff0b45cb2f239ccf8097f919138d140e6ac04b0579065204a8661d4128a30b57fe168b965e47399f012ff232271a281cd580960af20ca40950cc3a82514616affc2d172cbc8e733e025fe4644e345039ab012c15e4194812a1987504a284ee8583279481a499b2de843f2eab1c13649915d25846084290254340ea0944f29e30911c8f2b74b0321f87fdc338b7d18d57eb74b0a65095204a8691d41289d53c6122391e56e960643f0ffb86716fa31aafd6e9614ca12a40950d23a82513a339e7cf3fa2d5fe3d94e09f7672c55ef0f9856da2c2b38264812a1a57504a273673cf9e7f45abfc7b29c13eece58abde1f30adb45856704c9025434aea0944e65a8c4c7cbf18024731fe4fd5930f7fb6eaa3b765b0ae849a204a8696d41289cb412af1a65492874630c2c7a31c7d27688189cac8615ead3540950d2ea82513950e683bf97f8791442e4bb73e2f5876cbaf55f18dc2befe6b812a1a5e504a27291cd077f2ff0f22885c976e7c5eb0ed975eabe31b857dfcd7025434bca0944e5239a0efe5fe1e4510b92edcf8bd61db2ebd57c6370afbf9ae04a8697941289ca47341dfcbfc3c8a21725db9f17ac3b65d7aaf8c6e15f7f35c0950d2f28251394872961844cedb96fab1819bdaebe594b5a1a174d92bf18ab912a1a5e604a2728f713e89367419b0ad2fc95fadce295165ef8545af57e4b97325434bcd0944e51d6e8f6b19be95e4122c58e75392b0cac68b4ce75bafcb16e74a86979b1289ca3969312ee0538e4adc2577f69f1bbfbd87c2dc2ab45f97d1cf950d2f37251394715e74b66d7d7f187017b615362ddda30a31fab165bf3147a02a1a5e6f4a2728e148fbc587d160b397fc32526452196e0f1037bec87e6433415434bcdf944e51c11e09e3bc7923e9e7c52accc09a910418ccb1d98dfcca0a83a86979c0289ca3813c13c778f247d3cf8a559981352208319963b31bf994150750d2f380513947020439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030873cf3d75e454adc2e2b5f4c14470bbbe138469e6539c1f434bce0344e51c0610e79e7aebc8a95b85c56be98288e1777c2708d3cca7383e86979c0689ca380c21cf3cf5d79152b70b8ad7d30511c2eef84e11a7994e707d0d2f380d13947018439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030134f4c8434a7cd93faf187440aa533b68d7aa29b653b65f534bce0354e51c05f269e9908694f9b27f5e30e88154a676d1af54536ca76cbea6979c06a9ca380be4d3d3210d29f364febc61d102a94ceda35ea8a6d94ed97d4d2f380d53947017c268cbcce7ba0ef57a45262184b87c5af181770d829dcd3aaa5e701ab728e02f74d19799cf741deaf48a4c430970f8b5e302ee1b053b9a7554bce0356e51c05ee26454be6c4e640165e0fb059247d3eb70ca01f5da774f2ab979c06aeca380bdb4c8a97cd89cc802cbc1f60b248fa7d6e19403ebb4ee9e5572f380d5d947017b625278847e9fb83114504e95c885322d6dec2d9739dd56eaf5e701abc28e02f6b4a4f108fd3f706228a09d2b910a645adbd85b2e73baadd5ebce0357851c05ed620b079cc7e508efce0d9cd6a17aab356274dc1cb77575ebe79c06af1a380bdab4160f398fca11df9c1b39ad42f5566ac4e9b8396eeaebd7cf380d5e347017b560ed43fdecfa4beab502d5da05508f5534979632add5f1efae701abc78e02f6ab1da87fbd9f497d56a05abb40aa11eaa692f2c655babe3df5ce03578f1c05ed563b50ff7b3e92faad40b576815423d54d25e58cab757c7beb9c06af1e380bdaac02b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae0ad15e8d4e21e04938c453ea7a974a53e035d54fabea6f60e03578f5c05ed55c15a2bd1a9c43c0927188a7d4f52e94a7c06baa9f57d4dec1c06af1eb80bdaab82b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae039284181b880874b590b669f9fd2cd38af9fb0f7bea89a0f03578f5d05ed55bf7250830371010e96b216cd3f3fa59a715f3f61ef7d51341e06af1eba0bdaab7e70b35eb3b8649fe530f3c27675a95cdd6ac11fdbfaa40c3d0d5e3d7517b556fb6d791614472bc2822eadace4e1b0e1b581c49bb4f549bc7b1abc7aeb2f6aadf5670484d564ba07bc2a2181c1b9bfeb65afcb9366ea951cf73578f5d75ed55be95a1b62579fd6923021092b7b69ddfec60bd982cad52bddef6af1ebafbdaab7d140491d5c160fa7180ed87eeeca1a2586c3f56192aa595fdfd5e3d7607b556fa10ca493650281d0e7ea7725d58a927308342d1f2254b463c0abc7aec1f6aadf41194926ca0503a1cfd4ee4bab1524e610685a3e44a968c781578f5d83ed55be8232924d940a07439fa9dc97562a49cc20d0b47c8952d18f02af1ebb07daab7d0465249b28140e873f53b92eac54939841a168f912a5a31e055e3d760fb556fa08565b8efcfe7f9136743885509f85587def144e224b47e00bbc7aec206aadf40f38c976a6d361a524b53732993568d8f68a6af8419691641878f5d841d55be81d7192ed4da6c34a496a6e65326ad1b1ed14d5f0832d22c830f1ebb083aab7d03a6f38334823e9174aa1a2f25ccc018bd4d5ee3d035a473462e3d76108556fa0736a82bf3d1e34b14d100c0cb18e613fa4581ed603b4900cc6c7aec211aadf40e56117d72712cbe551ecde415b1320a7435c8008046921bd8e8f5d842455be81c94e4206fafbfa4d5ba682aaae1c9f768165426c05d2451f1e1ebb0849ab7d0391289666a2ce571d6f19cb7d542f9d14fd76c73408a48be23d3d76109456fa0721512ccd459cae3ade3396faa85f3a29faed8e68114917c47a7aec2128adf40e422e6bf3380fbef87433f41d48b4d27bf0875f2c1f92312cf5f5d842525be81c835cd7e6701f7df0e867e83a9169a4f7e10ebe583f246259ebebb084a4b7d0390645c2258d155e64889c969d1ac9a817bcc9bf0c7b48c657d8d761094a6fa0720b1796a3c7011f4bc905f3622d89ae57743fc074f3918e53b2aec21295df40e4152f2d478e023e97920be6c45b135caee87f80e9e7231ca7655d84252bbe81c82a5e5a8f1c047d2f2417cd88b626b95dd0ff01d3ce46394ecabb084a577d03905448c776e4df5ce0fffc61396443d0e39caa4603998c744196761094affa0720a71da14676951c44b7c5889ac07dffef3400ce633018ea272dec212960f40e414d3b428ced2a38896f8b113580fbffde68019cc66031d44e5bd84252c1e81c829a029772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a660a5dca1cab4e565b8ba24be7b977932abdefa2f58ea902e2c212961340e414cc14bb9439569cacb7174497cf72ef26557bdf45eb1d5205c584252c2681c8299829772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a66031eefa778b47e87086eae6738dd75aa68b3c8b55ea91d22d212961350e414cbf63ddf4ef168fd0e10dd5cce71baeb54d167916abd523a45a4252c26a1c82997e53ce428b03822479e871c1c62dbb9294d9348954aa48ecb584a584d5390532fb33aeddc2dd66cbab9da9ab8451d54d245eab6ea654937d6c094b09ab720a65f5675dbb85bacd97573b535708a3aa9a48bd56dd4ca926fad812961356e414cbea5acdcfb84bfdb166436cd6093db35c8c26f01696524f99b1252c26aec82997d341adf81d6e5de584539fd40a71c4e112fa228929a4a0d7634a584d5e90532fa50f6e48e7b31e4dc07405d00cd9e7ea20a0876e50494352c794b09abe20a65f491edc91cf663c9b80e80ba019b3cfd441410edca09286a58f2961357c414cbe923db9239ecc793701d0174033679fa882821db941250d4b1e52c26af882997d2407849fea6f54f0bb6cf4a85ec59d78ffb07dce7f4a1c3a3da584d5f20532fa470f093fd4dea9e176d9e950bd8b3af1ff60fb9cfe9438747b4b09abe40a65f48e1e127fa9bd53c2edb3d2a17b1675e3fec1f739fd2870e8f6961357c814cbe91c3c24ff537aa785db67a542f62cebc7fd83ee73fa50e1d1ed2c26af902997d238045c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f08b8aea797631cdd38215bc8a06b6feb683e87e3438a8fb6b09abe42a65f48de11715d4f2ec639ba7042b79140d6dfd6d07d0fc687151f6d61357c854cbe91bc22e2ba9e5d8c7374e0856f2281adbfada0fa1f8d0e2a3edac26af90a997d237845c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f0179d43264c94508b4edbe481fd1526b1302ada3138aa9f6c09abe42b65f48ddf2f3a864c9928a1169db7c903fa2a4d626055b46271553ed81357c856cbe91bbe5e750c993251422d3b6f9207f4549ac4c0ab68c4e2aa7db026af90ad97d2377c48fc71df3b05071243a54c07df075d842d992d86c5569f614d5f215c2fa46ef71e0b3c6b4c6c90dc5410c007b46ce3030774b70a8aaee2c39abe42b95f48dded3c1678d698d921b8a821800f68d9c6060ee96e15155dc587357c8572be91bbda043f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3087e94b410298c523a12502d9023680d942a704e557a5e1ed5f215ccfa46ef6610fd2968205318a47424a05b2046d01b2854e09caaf4bc3dabe42b99f48ddecc21fa52d040a63148e84940b6408da03650a9c13955e9787b57c85733e91bbd9843f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3013fba3edd8fb47db6deb2ad0f894a8d3eee960e257a785ee5f215cd0a46ef65f27f747dbb1f68fb6dbd655a1f12951a7ddd2c1c4af4f0bdcbe42b9a148ddecbe4fee8fb763ed1f6db7acab43e252a34fbba583895e9e17b97c85734291bbd97c2bef781b9e3cc1933c1f7e7fbb036e9a238d630fbd3dd373f90ae6862377b2f757def0373c798326783efcff7606dd34471ac61f7a7ba6e7f215cd0c46ef65ee3bd0391b4f558904bd4421f6e26be2633a77e83bf4f8f1d0e42b9a198ddecbdb03b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b5076595c6ea1b29828e9cd7cb766bd982426458e9d3e70f4590ae6868377b2f6a0ecb2b8dd43653051d39af96ecd7b30484c8b1d3a7ce1e8b215cd0d06ef65ed41d96571ba86ca60a3a735f2dd9af6609099163a74f9c3d1642b9a1a0ddecbda83b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b50026bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e09aed46de0546b82da4e92bd746f007b4a1faa68f9ca61682b9a1a11decbda7c135da8dbc0a8d705b49d257ae8de00f6943f54d1f394c2d057343423bd97b4f826bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e026ff9f8adba93ae571af53cf3d4e2faf4e3d028c9ca7ba83b9a1a11eecbda7bf4dff3f15b75275cae35ea79e7a9c5f5e9c7a0519394f75077343423dd97b4f7e2810d6d845076e4d93837734eb96e6b7e536662f72a08e0fe686847cb2f69efb5021adb08a0edc9b2706ee69d72dcd6fca6ccc5ee5411c1fcd0d08f965ed3df62c55b40dea803bee1ad404cba4b9c2da411bf4baca83dc409a1a11f3cbda7beb58ab681bd50077dc35a80997497385b48237e9759507b881343423e797b4f7d63d6928e48063727038163b2689453363b0b22ee82a111503686847d02f69efab06e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df550dc954ebae52cf3079e53c8a11d11d841b4d739aa8479c0fa1a11f42bda7beaa1b92a9d75ca59e60f3ca791423a23b08369ae735508f381f43423e857b4f7d54372553aeb94b3cc1e794f228474476106d35ce6aa11e703e86847d0af69efaa86e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df55068a7a767bb8f75bf6b19f0991370003c611995a7847b64fb1a11f42cda7bea9f5d61a77c4d816e36a2fa092a1d3e28736e75874c08f86df73423e85ab4f7d53d46d5a7a571655f2512ba3a4c30da78e1892d6a9511f27fef6847d0b669efaa7919bda7f7b92d4101f23a9c90581319bdbe9d312723e6a3dfd08fa16dd3df54f1337b4fef725a8203e4753920b026337b7d3a624e47cd47bfa11f42dba7bea9e266f69fdee4b50407c8ea7241604c66f6fa74c49c8f9a8f7f423e85b74f7d53c459ff986a9fcc8ac75e9b0c7ab6f6f5e8a12be5361f36c2ff847d0b6f9efaa7874011898215fb984689fc40ed644c13cbee9a26693e6f2a0008fa16e03df54f0d0c356bb10259b344e0bea9d2bef64f928976a8cf7cdff80111f42dc17bea9e19186ad76204b36689c17d53a57dec9f2512ed519ef9bff00223e85b82f7d53c3230d5aec40966cd1382faa74afbd93e4a25daa33df37fe00447d0b705efaa786461ab5d8812cd9a2705f54e95f7b27c944bb5467be6ffc0088fa16e0bdf54f0c84f6913bcfbfdb705d8b0c523e5c3212343ace8f4ce0124121f42dc18bea9e18f2ae48026ce5df0c37e27b23fc1e46a41339c2de69c03ec253e85b8327d53c31d55c9004d9cbbe186fc4f647f83c8d48267385bcd3807d84a7d0b7064faa7863a37a459480fda45c5c564f0f6fdefd0ff7ab3139770115495fa16e0caf54f0c736f48b2901fb48b8b8ac9e1edfbdfa1fef566272ee022a92bf42dc195ea9e18e66aa3bdcd15cb99cee259ebd3ee1d6bf8970eaa5ac046f658e85b832cd53c31cb6159d44701f9b6559179ff9fd298ffebda5fb0b2808f90b2d0b7065aaa7863954ec6013ada55ef62efba27379b9027d26101bd620120c566a16e0cb654f0c729299e5b228b0e617dac3a76672d7e779f6e45d6c102432ece42dc196da9e18e51533cb645161cc2fb5874ecce5afcef3edc8bad8204865d9c85b832db53c31ca2328bc537029c08ae7db00194ac5806786559b701090e5f3a0b7065b7a786394365178a6e0538115cfb60032958b00cf0cab36e02121cbe7416e0cb6f4f0c728656416d88e0d2a571c3862e4aa7be41dc41a93801243b20e92dc196df9e18e50b389533be9807cd9b53d2848d45daabb32f94cbff4877e5d35b832dc03c31ca15712a677d300f9b36a7a5091a8bb557665f2997fe90efcba6b7065b807863942a6e6727a73681b9251c103a2d0dc8d6c76a958bfa21e13b4e6e0cb701f0c7285368e0a7fb4365f50204e69c5211efd589816d73f143c41a9ddc196e04e18e50a55dd3a8a35d2e6cbbd693609c1a3dd30daf1d43df8789d93cb832dc0ac31ca14947b9a9f390bf5c2f79ece9302ad9ce160a7ce3bc0f15567a7065b816863942911b85ac93f7e13b16c09ffa584c11c426c13c23751e2c50f5e0cb702e0c728521370b5927efc2762d813ff4b09823884d827846ea3c58a1ebc196e05c18e50a426e16b24fdf84ec5b027fe9613047109b04f08dd478b143d7832dc0b831ca1484683fbd4c956c5b6dd1c5faba56ec4930b62377a5f1642bb0065b8171639429075c91d346013b399370521d6ca436ba5c18894b48e2c9fb610cb702e3c728520d4535ff38d8d8f5dead6a62d13ecb9cb2dd54f28ec5959ac3196e05c88e50a419167e571e88146e75279aed9a73f5616066ec411a8b2cd98732dc0b921ca148312cfcae3d1028dcea4f35db34e7eac2c0cdd882351659b30e65b817243942906259f95c7a2051b9d49e6bb669cfd585819bb1046a2cb3661ccb702e48728520c4400511a11705f661099d94cb960932fde3a464d15968703a96e05c91e50a41870c1c7bef046e6f79e001518f22708df6738b259fb2d284762dc0b924ca14830d1838f7de08dcdef3c002a31e44e11bece7164b3f65a508ec5b8172499429061a3071efbc11b9bde78005463c89c237d9ce2c967ecb4a11d8b702e49328520c3460e3df7823737bcf000a8c7913846fb39c592cfd969423b16e05c92650a418684dda179d1d497a55ccdb40ea1d670761e4f4b5f82d29eb63dc0b924da14830cf27c687e710f57763667ca9cc312c36be762bc7ed5a557ac8b817249c4290619d4f8d0fce21eaeec6ccf9539862586d7cec578fdab4aaf591702e49388520c33a2b2c78491a38604566b8cf28bb0f02f484f17bb269578f23e05c92720a4186735658f0923470c08acd719e51761e05e909e2f764d2af1e47c0b924e414830ce638c439d13f4403cd67a9649ae29a33ccc0084ac6a55fe090817249c9290619cb718873a27e88079acf52c935c53467998010958d4abfc12102e49392520c33966f233ff1d37291ed6b6bba6380c6f72dac6387179581264305c92725a418672b6a58d8907d47a692a39d9cbef7ec165605096a2c2b03f0870b924e4c4830ce5560c409cdd0f1cfdd14016175e63654a6b65530555609850f17249c9990619ca94d9a6c4878462271f4c8eae3c2cad14818ecbca7ac14ae1f2e49393420c339512747313dc6eec79bb657fdbf7bf3ca8ade1bd54c582b003f5c927269418672a14e8e627b8ddd8f376caffb7ef7e79515bc37aa98b056007eb924e4d2830ce542292f1da3f21da126a6261ef5e62d522624b1b12e60ada4fe7249c9a60619ca83525e3b47e43b424d4c4c3debcc5aa44c4963625cc15b49fce493934c0c33950630cecf3c9ed90752655ea3cf8f1370933f0920b682b837fac927269918672a0b619d9e793db20ea4cabd479f1e26e1267e12416d05706ff5924e4d3230ce54164f4d959f51c6a0016240b73632abea47a866ded70ae283ec249c9a65619ca82b2aad83eb79efc2ba914796645bb5fc89fd1019ab15c6abd9493934cbc3395055555b07d6f3df8575228f2cc8b76bf913fa2033562b8d57b2927269978672a0aa36c8685abe218da211e4818965361a22a082c2a9571c536624e4d3300ce541536d90d0b57c431b4423c90312ca6c344541058552ae38a6cc49c9a66019ca82a66733fa17cee8b94014582e1d8b3690852e4d66a25c72f19993934cc13395054b5a7a4cdc7433f537f57684330ccb490508dd2941b8e7873427269983672a0a954106f265beca6d27b7b3305e0ff4ba04bdfcae8071d0b2694e4d3307ce5415290e203d7853f75d073c2c88b416479c04283bb8fde3a308d39c9a66109ca82a511c407af0a7eeba0e785911682c8f3808507771fbc74611a73934cc21395054a23880f5e14fdd741cf0b222d0591e7010a0eee3f78e8c234e7269984272a0a9447101ebc29fbae839e16445a0b23ce02141ddc7ef1d18469ce4d33084e54152886e16303215d8532b8f8eb3395ad7e83d2ffdebdb3a32313ac9a6610aca82a50f683eb9110213290eebe38e6aac0df8750c3e33b374660676934cc21695054a1d5c8fcaceda88d4d5a48d44cd4e7a18e4c4bec363e8cdb0ee2699842e2a0a94394531ee4a8b742c6315e0b192935259c435bfe2c4d19d05dd4d33085d5415287116763541ed4adb7df8878b1d1d02db8317c22186a33bafbb9a6610bba82a50e12cec6a83da95b6fbf10f163a3a05b7062f84430d46775f7734cc21775054a1c259d8d507b52b6df7e21e2c74740b6e0c5f08861a8ceebeee699842eea0a943843fc402bc40b95ea7910280e0de7504136a53683219df21ddd33085de415287070b9a5e2557d54006eecb29b9b348302180e92c6133bfe7bca6610bbd82a50e0d1734bc4aafaa800ddd9653736690604301d258c2677fcf794cc2177b054a1c1a2e6978955f55001bbb2ca6e6cd20c08603a4b184ceff9ef299842ef60a9438345cd2f12abeaa003776594dcd9a41810c074963099dff3de533085dec1528706845b83b0253b68326b978c3932ae12a12bad522103c001fcb6610bbd92a50e0cf1782ceb17dcf89053fb7af1e4c207c2021eca01d7801e397cc2177b354a1c19d2f059d62fb9f120a7f6f5e3c9840f84043d9403af003c72f9842ef66a943833a5e0b3ac5f73e2414fedebc793081f08087b28075e0078e5f3085decd528706744828ce38c4decae1ca83a0ea576208fbbba75ce8c010c0bf610bbd9ba50e0ce71c63f51e6020187b61cd69cca52239f2239115ce8023257fc2177b384a1c19cd38c7ea3cc04030f6c39ad3994a4473e447222b9d00464aff842ef6709438339a718fd479808061ed8735a7329488e7c88e44573a008c95ff085dece1287067346f32019fd7634692db31765d1f6ff78bc8cb0a71011acfff10bbd9c350e0ce676a765bec85290fdd832914b2353e17123dd870df023743ff2177b387a1c19ccd60ff1085e0b4a272d318515c60da561f27f33dbb04702bff42ef6710438339994e1079b897cbc79d72f6cab0b812d438fc28d77308e1fbff85dece218706733128334c1e05fa11f2b2b3bd596683d06ca4940ae311c59c000bbd9c440e0ce6615066983c0bf423e565677ab2cd07a0d9492815c6238b3800177b38881c19ccc22cdf8924ee4aca8297951d5d906d69ad3e928789471814012ef671113833998359bf1249dc9595052f2a3abb20dad35a7d250f128e3028025dece222706733063f907d408f8dacc22b1a9d6e3813ceafa68c7a221c61f405bbd9c445e0ce660b0b33532df57ddc3c22fb62d46685c559f95b504138c58c0c77b3888cc19ccc151666a65beafbb87845f6c5a8cd0b8ab3f2b6a082718b1818ef6711198339982a2ccd4cb7d5f770f08bed8b519a171567e56d4104e3163031dece223306733054599a996fabeee1e117db16a3342e2acfcada8209c62c6063bd9c44660ce660a83f478b8c2e404679fc7c553e5eba7d9a41f760108c5a64c87b3888cd19ccc14f0aa16fc532e30fabc5bed274b3d3232f30311c1e18b66d91f671119b3399829d1542df8a65c61f578b7da4e967a6465e6062383c316cdb23ece223366733053a2a85bf14cb8c3eaf16fb49d2cf4c8cbcc0c4707862d9b647d9c4466cce660a74550b7e2997187d5e2df693a59e9919798188e0f0c5b36c8fb3888cd99ccc14e83629550004937d7428b34f4333905aedaf541dde8b687d20671119b4399829cf6c52aa000926fae851669e866720b5db5ea83bbd16d0fa40ce2233687330539e64b7acace8b078886f936504c49f93b16992d3772da398829c4466d1e660a73b5581b206a7c373c8abecf2017f9d4f5d7f6802eb5b48d5063888cda4ccc14e753715bcba25e96a4924a00bfaf598c6b5ab1261d3b6934e0d71119b4a99829ce96e2b79744bd2d492494017f5eb318d6b5624c3a76d269c1ae2233695330539d268694b956e082bdc5f4657e3ccc142d1588be34bda4edc36c4466d2b660a73a35ce4efd7b272da708b52d7bf8fe0ad9d5d5a2294b49f5c6e888cda57cc14e74545dc385c3b483798e36bd777161f833566f6a12669405cde1119b4b09829ce8917cac9654cf2f1e9939dd6e6229d2e657a2f9e49d2825dbd2233696230539d112f9592ca99e5e3d3273badcc453a5ccaf45f3c93a504bb7a4466d2c460a73a225f2b259533cbc7a64e775b988a74b995e8be79274a0976f488cda588c14e74444a68a3d73dfa120469b4df290b479b267dbf4e4b941491ea119b4b12829ce88720e3a05b5256a6c0a02fe64a0ced5e47a7c0f894282ac7d5233696260539d10d41c740b6a4ad4d81405fcc9419dabc8f4f81f12850558faa466d2c4c0a73a21a0fa0da1a1fbd1dba4d85c1202a13a1194b463e4da0acc3558cda589914e744331f41b4343f7a3b749b0b824054274232968c7c9b415986ab19b4b13229ce88663e8368687ef476e936170480a84e84652d18f93682b30d5633696264539d10cc0919297dd44b708a38f430f946fb30c506744e6a0567bead66d2c4c9a73a2197123252fba896e11471e861f28df6618a0ce89cd40acf7d5acda589934e74432e2464a5f7512dc228e3d0c3e51becc31419d139a8159efab59b4b13269ce8865c48c94beea25b8451c7a187ca37d9862833a273502b3df56b3696264d39d10cb81da4f08a1b198b5b5c09378c6611344b1387429d567d8ed76d2c4c9b73a2196f3b49e114363316b6b8126f18cc226896270e853aacfb1daeda589936e74432de02a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb760a986b550b22c094f3ac18a63a8be49be97d99c967df7d7ad2c4c9bb3a2196ec1530d6aa16458129e758314c7517c937d2fb3392cfbefaf5a589937674432dd82a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb76035990dfd888e8c070787b25b9f1c71b9441bf8937df97bae2c4c9bb4a2196ebf6b321bfb111d180e0f0f64b73e38e3728837f126fbf2f75c589937694432dd7e627690a2f89cb2d3eae4f16672cfeedfbcb23e4af7e792b9b1326ed38865bafb50ff79f2c79be85fa2900ac4dbfe05ba25a6d892efd0c9746264dda810cb75f52e114c92659a537711e63d81ae5a336ef7900d22dfa336e9c4c9bb512196ebe95c229924cb34a6ee23cc7b035cb466ddef201a45bf466dd3899376a2432dd7d244578af66ccbd094145f1dfeafc6f5b68a8290887e8e7fa81326ed45865bafa314c16e99affa23dff58463f555ec1367c1477d0dfd1ea351264dda8c0cb75f452982dd335ff447bfeb08c7eaabd826cf828efa1bfa3d46a24c9bb518196ebe8a5305ba66bfe88f7fd6118fd557b04d9f051df437f47a8d4499376a3032dd7d14321dcd7a5633a1b778e947a2a5bec338b67e446ce8f6be8a326ed46165bafa27643b9af4ac67436ef1d28f454b7d86716cfc88d9d1ed7d1464dda8c2cb75f44e54898e962f310995b06b46828d5934dd863b6db0a3dc9e29c9bb518696ebe89b352575d934c495e32d9cb4fd111091b5b8b9375e47bae0549376a30e2dd7d1356a4aebb269892bc65b3969fa2221236b71726ebc8f75c0a926ed461c5bafa26a60a83011a974da448338fbec3aa06ed18f2739761eed25534dda8c39b75f44d34d62b8d0294c3740d3381fd06b9f059dca90cee93ddbeea79bb518746ebe89a526d7ca4d28faf13973366798cd9c33364163f9cf7bb98150376a30e9dd7d13494daf949a51f5e272e66ccf319b38666c82c7f39ef77302a06ed461d3bafa2692277181e17a4e479d999fc65b2ccef4d3b1d2433aeee7a941dda8c3a875f44d234ee303c2f49c8f3b333f8cb6599de9a763a48675ddcf5283bb518750ebe89a4629d86032bf9ba12e33454164a999fb49738b68e8bba0490876a30ea2d7d1348b53b0c0657f37425c668a82c95333f692e716d1d177409210ed461d45afa269163373d977d4d1077099db2d8a9cc615207a6fff9fee82c822da8c3a8c5f44d22b66e7b2efa9a20ee133b65b15398c2a40f4dfff3fdd059045b5187518be89a45659e1be8c29a6a07a3432de2269767c7c96025a7cba0cc48c6a30ea327d1348ab3fd5d5c529afc3ac352be43cc94b20f3d84710f6741b2d19d461d465fa2691550bbe043729c20a10371df07188f469e25cd07de9e837fe34a8c3a8ccf44d22a9177c086e538414206e3be0e311e8d3c4b9a0fbd3d06ffc6951875199e89a45522ef810dca7082840dc77c1c623d1a7897341f7a7a0dff8d2a30ea333d1348aa45df021b94e105081b8ef838c47a34f12e683ef4f41bff1a5461d4667a269154847f29c1f728323bb3ea52f1085a4c620794a3a9b8381874b8c3a8cd044d22a8f1bf790ebbb68ca2e4a10861901a7b43b9ed6d1340704b298187519a189a4551d37ef21d776d1945c94210c32034f68773dada2680e09653030ea33431348aa3a6fde43aeeda328b928421864069ed0ee7b5b44d01c12ca6061d46686269154746bcee00ab1a8d42a1d4a58c0039bc9d7a2f8e59d382738c1c3a8cd0d4d22a8e763b018c239b42b0c075ad977fd95bba9f23427377050158487519a1b9a4551cd53728a3149cad8cfdb7bdae7f1899f4e90aaaa6be0a1cf0a0ea33438348aa39932f76d0f69f8345783bdddc7d9716697cd97b0d4c14542151d4668716915473165eeda1ed3f068af077bbb8fb2e2cd2f9b2f61a9828a842a3a8cd0e2d22a8e6257f00cea7e435415dbbd9f175c23c259e2a11f500516ac557519a1c6a4551cc33bf27281d2e92ae384416626aea5acae71849a9d0a2efcabea33438e48aa398503f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730907ee7b60f869b0fdaa91e88aa75302af1e97226e28bf3ab1a8cd0e3b22a8e6120fdcf6c1f0d361fb5523d1154ea6055e3d2e44dc517e7563519a1c764551cc241fb9ed83e1a6c3f6aa47a22a9d4c0abc7a5c89b8a2fceac6a33438ec8aa398483f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730900afa0ebc5cfd929275e4b0a26b8e52ec95b482df8bf54f1b8cd0e3b32a8e611f15f41d78b9fb2524ebc96144d71ca5d92b6905bf17ea9e3719a1c766551cc23e2be83af173f64a49d792c289ae394bb256d20b7e2fd53c6e33438eccaa39847c57d075e2e7ec9493af2585135c729764ada416fc5faa78dc66871d99547308f83bb34472a63babdf2b11321eaf4356c4078a89f5bf5695b9cd0e3b33a8e611ef0378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba0de386488b6769d88ba230d55393560aed5dbfa1fabb3dd26871d9a147308f741bc70c9116ced3b1174461aaa726ac15dabb7f43f5767ba4d0e3b3428e611ee8378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba06a4abd358cd9204086e9354d2f9388a9821e561cabb58127871d9a157308f73f60a7d317f014c338da9892925585394db07f0836576ca6500e3b342be611ee7d4d61fedcb68c092981f74d1ca1689a960d406c69aedaf0a11c766858cc23dcf926d65666437a950ad0b4c231392f5d26c6c334d05db7854338ecd0b29847b9f14dacaccc86f52a15a1698462725eba4d8d8669a0bb6f0a8671d9a165308f73e2276bb245e44cd6e30f9930bcdb1b9c95c74f2f3e76dfb90de3b342cb611ee7c34ed7648bc899adc61f326179b637392b8e9e5e7cedbf721bc7668596c23dcf8629c121c46795de440b2aeaeb62cc9a51c97f18f6db8088388ecd0b2e847b9f0b53824388cf2bbc881655d5d6c59934a392fe31edb70110711d9a165d08f73e163316dfbe74b9fbc7f971d3a581909141d23ebfd86e03c4e33b342cbb11ee7c2b662dbf7ce973f78ff2e3a74b03212283a47d7fb0dc0789c67668597623dcf856586dd7a6a94a71d7b28d768dfca06d01f53d5b5eb810b78decd0b2ed47b9f0ab3cee07fa28f7666731e11513ef9f01fe96bd12ba7023131cd9a165db8f73e15505ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a90bdcd14250a29f0c6110a43fab3857efb37902e3c08f9475668597703dcf855217b9a284a1453e18c221487f5670afdf66f205c7811f28eacd0b2ee07b9f0aa42f734509428a7c31844290feace15fbecde40b8f023e51d59a165dc0f73e15485ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a9049df6cd1e08c737dddd06bf2a9e3a6f5e3d28a3908faeb5768597704dcf8551f1fd13250977b69b38866ffdd4a2575e673e7706f11f77aafd0b2ee0ab9f0aa3d3fa264a12ef6d36710cdffba944aebcce7cee0de23eef55fa165dc1573e1547a0b5721ef34502985ee62276d1ef3ff947be01db947df8ec042cbb82be7c2a8f316ae43de68a0530bdcc44eda3de7ff28f7c03b728fbf1d8085977057cf8551e62d5c87bcd140a617b9889db47bcffe51ef8076e51f7e3b010b2ee0af9f0aa3cc5ab90f79a2814c2f73113b68f79ffca3df00edca3efc7602165dc15f3e154798418477a01b651b16b2e89ec9e59e21426a4437917dfa90052cbb82bf7c2a8f2f0f1b47ed0d2cb8e53297658bc19a6a7f80cacb1ffbf6c40b5977057ff8551e5d1e368fda1a5971ca652ecb178334d4ff0195963ff7ed8816b2ee0afff0aa3cba3c6d1fb434b2e394ca5d962f0669a9fe032b2c7fefdb102d65dc15ffe154797404ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e709d9302a7f9093c2c302a8ac0662f7ed653169f9bf6f88b7977058018551e5ce13b26054ff212785860551580cc5efdaca62d3f37edf116f2ee0b0030aa3cb9c2764c0a9fe424f0b0c0aa2b0198bdfb594c5a7e6fdbe22de5dc16006154797384ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e7029a55b54cf6bbee3fcf0b2b85c8da6d0ff58fb98f6fa2f7a77058019551e5cdf534ab6a99ed77dc7f9e16570b91b4da1feb1f731edf45ef4ee0b0032aa3cb9be32a7c60014117e47c088f2d96894c33ea9a64a60dbea61eadc1600665479737b654f8c002822fc8f8111e5b2d129867d534c94c1b7d4c3d5b82c00cca8f2e6f656b170ad26a87bd6cee9f35d98b134f552db85806fab2bac7058019a51e5cdeb39753a0723b37a656a9a0eb327c091e551f966fddf57fb59e0b00335a3cb9bd572ea740e4766f4cad5341d664f8123caa3f2cdfbbeaff6b3c160066b479737aa71e740c965306c4d772e62c495606f8ff427f7f47d61916882c00cd78f2e6f536fe0da3fa0c35b52bb22ed81211f071a94924be5fac4c6d2058019b01e5cdea56bd40d2c17e9395d430c02fa389c362fd566f3c8f58b31a50b0033613cb9bd4963ba73050634f57252de2dec6796945a5710438eeb18074b160066c379737a9153873eb6e2cc6d9c728283d0c58b50af5a62e31ad631b2972c00cd87f2e6f5213320d61a9bfb5df0b1cb2f998174c95961082232ac65092f58019b10e5cdea416641ac3537f6bbe163965f3302e992b2c210446558ca125eb0033621cb9bd4825895b117464ffa7a93f2e65dfc314d603062e4c7b195c8be60066c449737a9033d3dbadb630277acf4abf4b3eec0c2bb0d08258c632d357dc00cd88a2e6f5205068dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea4090d1b9cc738cee4236c3c22bfa7bf5ae18ca54e2b8cb81df90033622ab9bd48121a37398e719dc846d878457f4f7eb5c3194a9c5719703bf20066c455737a9024346e731ce33b908db0f08afe9efd6b86329538ae32e077e400cd88aae6f5204868dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea40905dcc25206350c4ee908853f27253d61376973eb5cb838391033622ac9bd4811f47aaa2ed9d040c94edd6cfdcdb05d4219970d9689708ab23066c455a37a9023d1b679e88106a9be1a873c7b1ac69d03ddf240ece2e12fa470cd88ab56f52047936cf3d1020d537c350e78f6358d3a07bbe481d9c5c25f48e19b1156adea408f26d9e7a2041aa6f86a1cf1ec6b1a740f77c903b38b84be91c33622ad5bd4811e4674f4ced59b761c51064658559aca9e9a562d26e7099763966c455ac7a9023c75ab0f28789d14641ed8ef302a9b77bcdf70800d9e1349073cd88ab59f520478d41743dbbea050f3ba7e40dfd49cd1f969a525db0c26ac4e89b1156b4ea408f190efad424aa6ca12f1c8e43f289f86727e0e7175e84d72dd23622ad6ad4811e311df5a84954d9425e391c87e513f0ce4fc1ce2ebd09ae5ba46c455ad5a9023c623beb5092a9b284bc72390fca27e19c9f839c5d7a135cb748d88ab5ab520478c403e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f18707d1f3a4538f186162708f188c42c27366f62de24d762525622ad6af4811e30e0fa3e748a71e30c2c4e11e31188584e6cdec5bc49aec4a4ac455ad5e9023c61c1f47ce914e3c618589c23c62310b09cd9bd8b78935d8949588ab5abd20478c383e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f1870093192f20f5408cdf3cf1980ba8a4f311ba53a21d763f65722ad6af5811e30df126325e41ea8119be79e330175149e62374a7443aec7ecae455ad5eb023c61be24c64bc83d502337cf3c6602ea293cc46e94e8875d8fd95c8ab5abd60478c37c498c97907aa0466f9e78cc05d4527988dd29d10ebb1fb2b9156b57ac08f186f81f2b87cdcba30f9709b7c0039f031b0c6695fe1a764109732ad6af5911e30def3e570f9b97461f2e136f80073e063618cd2bfc34ec8212e655ad5eb223c61bde08c077e404eec113f3a52806726a942c469a5466d905c9cdab5abd65478c37bb1180efc809dd8227e74a500ce4d528588d34a8cdb20b939b56b57aca8f186f762301df9013bb044fce94a019c9aa50b11a69519b64172736ad6af5951e30deec4603bf202776089f9d2940339354a16234d2a336c82e4e6d5ad5eb2a3c61bdd81819d6ed254e93f70718a85f1d076abf15e7a26a905e40dbb5abd65578c37baf3033adda4a9d27ee0e3150be3a0ed57e2bcf44d520bc81b76b57acaaf186f75e60675bb4953a4fdc1c62a17c741daafc579e89aa4179036ed6af5955e30deebc4ce1101600d72270058b6af0de997df35b7f6f5182f3aadead5eb2acc61bdd7725d478d8d810c797d7dcfdd9b39123e163413aa005e8f9be5abd655a8c37baed4ba8f1b1b0218f2fafb9fbb3672247c2c68275400bd1f37cb57acab5186f75da23643c1036a5a1172c3a1f5ec4a2b7803947467d17a58afa6af5956b30deebb346c878206d4b422e58743ebd89456f00728e8cfa2f4b15f4d5eb2ad661bdd76619a348edb0f907147daea57308e905fb915f75f15e97cfeaabd655adc37baecb334691db61f20e28fb5d4ae611d20bf722beebe2bd2f9fd557acab5b86f75d96668d23b6c3e41c51f6ba95cc23a417ee457dd7c57a5f3faaaf5956b70deebb2c592ca01a5e2abb5bba3b53903da657d7373e0b87f4c023565eb2ad6f1bdd76573e6b98e192b7f96f413ccf1871aad7a91abe730ce981eaadbd655adf37baecad08e98a6ffbd275964f3fc628d9b3d74ce1bf4216d305795c7acab5bf6f75d95911d314dff7a4eb2c9e7f8c51b367ae99c37e842da60af2b8f5956b7edeebb2b223a629bfef49d6593cff18a366cf5d3386fd085b4c15e571eb2ad6fdbdd76564474c537fde93acb279fe3146cd9eba670dfa10b6982bcae3d655adfb7baecac81aaaffac9389dc1cc0c28a85919b9cc8c8367d6a305939c8acab5bf7f75d958f3555ff592713b8398185150b23373991906cfad460b273915956b7efeebb2b1e6aabfeb24e277073030a2a16466e732320d9f5a8c164e722b2ad6fdfdd76563c616a561172b1639dd2da7c24833b0e40edf6474e82cb7246655adfc0baecac774ee704cfbbc549f3727b2040fcd4447c882eea9a0598888dcab5bf8275d958ed29e0624c4ded169eb1bc6879f006b0f3bca031310b32b51c956b7f05ebb2b1d953c0c4989bda2d3d6378d0f3e00d61e77940626216656a392ad6fe0bd76563b23393e1de0e16dd3293b7c9dfb678ebc99ec320c12ccc787355adfc18aecac7636727c3bc1c2dba65276f93bf6cf1d7933d8641825998f0e6ab5bf8315d958ec65a61e0250ebdf7821ba54f76d041d721274edf01b33385ce56b7f063bb2b1d8b40d618f6f3de71bc0410c6e596e1d63cfae01a006668af9dad6fe0c876563b150dbe8a9abe1f662fd4e7b5c32421d474a2028ffdccd3033c5adfc191ecac76291b7d15357c3ecc5fa9cf6b864843a8e944051ffb99a60678b5bf8323d958ec5236fa2a6af87d98bf539ed70c908751d2880a3ff7334c0cf16b7f0647b2b1d8a46df454d5f0fb317ea73dae19210ea3a510147fee669819e2d6fe0c8f6563b14867fb0258b858e5b51b41842a387b6f44cc6b5bd9cd31d7c6adfc191fcac7628f5c085d5e47144e220349304c67550684451913b09a65538e5bf83240958ec51d44231369648b1efbd3588890c50835033674835e34cc4b1db7f064822b1d8a3914587f7f9f78c0af73773919806e9201192b62b9699a3a3c6fe0c905563b147128b0feff3ef1815ee6ee723300dd24023256c572d3347478dfc1920aac7628e25161fdfe7de302bdcddce46601ba480464ad8ae5a668e8f1bf83241558ec51c42ed654a9d2288833687ff0c3f9d2b803759d71c84cd375e47f06482bb1d8a3875daca953a4511066d0ffe187f3a57006eb3ae39099a6ebc8fe0c905763b1470e476bab541f04a3856ec5eb07dda9080882b8231e334f7b92fc1920afc7628e1b1ae9af55146bc9c2aa51fe07b1b0380bb1b2a23966a09b26f83241608ec51c3535d35eaa28d7938554a3fc0f6360701763654472cd41364df06482c11d8a386a6ba6bd5451af270aa947f81ec6c0e02ec6ca88e59a826c9be0c905823b1470d4635fd35579c0d0cd1f56183583dfe85839d76dc835067d38c1920b057628e1a752d1ff57c9e424520b725862fe1df8ab1ff1378d6a0e9e728324160bec51c34d31b6575c6a2acb5be3aad8bdf29a1950ec24cb17d41ee0e606482c18d8a38699636caeb8d45596b7c755b17be53432a1d849962fa83dc1cc0c905831b1470d3252ebb61e7f0db0275b718aefc0c68d3e5cd5885c507d27991920b064628e1a6331e9c4e9d47de30683a93dd777eb427765ed6cb5a0fbf333324160c9c51c34c563d389d3a8fbc60d07527baeefd684eecbdad96b41f7e6666482c1938a38698a53b96c54285a0ed1db6b1f55d60b31d843f80ed383f170cdc90583281470d313338531552716a05b839c66a3a2748bab343279a407e4859c920b065128e1a625670a62aa4e2d40b70738cd4744e917566864f3480fc90b3924160ca251c34c4a5a271e0172bd0425db37c286803056a77d0c428d1f93ba73482c1945a3869893406094afbbdc8b038335ad04f6bed549a65ae1173f2918e79058328c470d31250cd3820c4e1b98bed3318201e3dbd28df8f81e2b7e53d5d020b065198e1a624919a704189c37317da6630403c7b7a51bf1f03c56fca7aba04160ca331c34c492334e0831386e62fb4cc608078f6f4a37e3e078adf94f574082c1946638698924669c106270dcc5f6998c100f1ede946fc7c0f15bf29eae81058328cc70d31248594a7971b81c0ea4ffde4816341b50da3bc43eb4e53f01030b065199e1a6248f3ea74b90469aa001cc82b8245e94c9af23cad966ca7fa607160ca334c34c491d0960efcd6397c2bb65cb9840b387bb58f3d80eca9500f00f2c19466a8698923912c1df9ac72f8576cb973081670f76b1e7b01d952a01e01e58328cd50d3124722583bf358e5f0aed972e6102ce1eed63cf603b2a5403c03cb06519aa1a6248e44b077e6b1cbe15db2e5cc2059c3ddac79ec07654a807807960ca335434c491c8222155830fdeae6e297fac032ed9dd89e9c348a65010a4f3c19466a96989238f4442ab061fbd5cdc52ff58065db3bb13d386914ca02149e78328cd52d312471e1497aeb915dd3c7072c4d804b1c59e22534f7e96404437d006519aa6a6248e3b292f5d722bba78e0e589b009638b3c44a69efd2c80886fa00ca3354d4c491c76525ebae45774f1c1cb136012c71678894d3dfa590110df4019466a9a989238ec30cfce75854c663b62ece81d848b190d46be50af02236281328cd536312471d7619f9ceb0a98cc76c5d9d03b0916321a8d7ca15e0446c5026519aa6c6248e3ae4f519282eb941ba55879c86e088a8c2fc73b9eb9088f2e05ca3354d9c491c75b2ab57db2ad8aba027db9b8d40773405a3ab9996f1120000c9466a9b489238eb5556afb655b157404fb7371a80ee680b4757332de2240001928cd536912471d6a36e84f778c8d6ac1c3ad0b48142b29639728c1b94481a433519aa6d3248e3ad36dd09eef191ad583875a1690285652c72e51837289034866a3354da6491c75a667b3968b08982dbedb7a5518470acd8908e562e2120834ce466a9b4d9238eb4b5b7985c2e792de3583bad2288473c30cbe0d21c124120d9d8cd5369c2471d69543056432a5883f22d43bcc48ff45ae14285c9f7f4825bf3c19aa6d3948e3ad29121d2112217300fd753dc089f4e98422fcfb9afb904d22793354da7391c75a51243a422442e601faea7b8113e9d30845f9f735f7209a44f266a9b4e7238eb4a24874844885cc03f5d4f70227d3a6108bf3ee6bee413489e4cd5369ce471d69441cfb613de1fa8aa376b42c479daa4912941f33d9826ab7ca9aa6d39d8e3ad28739f6c27bc3f51546ed68588f3b549225283e67b304d56f95354da73b1c75a50e73ed84f787ea2a8ddad0b11e76a9244a507ccf6609aadf2a6a9b4e7638eb4a1c73ed629be636d7d382678a34e3b0708f4d3bfac913576255d5369ced71d6943773ed1de4a2d0325ed1953c61bdbf091946ba518f26b068acaa6d39dbe3ad286d73ec94761c02e7756ff0a0bb71dc3a2d39b6ff1b4d62755a54da73b8c75a50d973eb81990e6851a2aca7696eda169c551fb05a339ac68eb5a9b4e7728eb4a1b173e95bdef33325fd2614fad5aa8b60a4eba31064358ec16c5369cee61d69436173e5106abcc8ceb218f01da34b74e94483887cc56b1f26d9a6d39dcd3ad286c173dc79824ff4201bfea6633e8d47fa83b3535587d63ff1b44da73b9b75a50d8173cb4bb1764ac2efca12ee7510ee1d0212e9070cac8187699b4e7737eb4a1b0173a8f00fc2f8089760ec04e2183a61fed2146a165904b2d4369cee70d6943601736438cc5c5293e68e9e31bc26d2ebf8506b3029b20b09a96d39dce2ad286c0172daca458f07aa84ea028b704403ffeb4d18bc506417b753da73b9c65a50d80171c7ed37f471d7c1a0cb3ed87e6627d14673d49dc83112a8b4e7738db4a1b0016fa2331cbf46323b0e5ca5a8f32a779d392a05389063c95269cee71c694360016b56bee654eee72de97f7349dcb317351e96666e20c936a5d39dce39d286c00162bfd679804051139fc50e8bafc45664e96f28d94194114ca73b9c74a50d80015192059fd6e324df0c50450f55e6d4c47f20adaf8329c69a4e7738ea4a1b00012f3663ec8428cc75e566b216a22bd183aa83b75c065531359cee71d5943600015e6cc7d9085198ebcacd642d4457a30755076eb80caa626b39dce3ab286c000248ebe85ee705b48f6260f0527f0d6e095651396d195668d773b9c75750d800031dea296aa46debd69188089cf479040d58e4ced732ae75afe7738eafa1b000053bd452d548dbd7ad23101139e8f2081ab1c99dae655ceb5fcee71d5f4360000a03bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c000130775fcaed034642425cc94d7908470601fab2eb39576f5813b9c757f0d8000260eebf95da068c8484b9929af2108e0c03f565d672aedeb027738eafe1b00004c1dd7f2bb40d190909732535e4211c1807eacbace55dbd604ee71d5fc360000983bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c00013003722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0dc88e6766a313e8a63dd5c3fa94b7f29bd51cd95dc3f052e71d5fc76000097c1b911ccecd4627d14c7bab87f5296fe537aa39b2bb87e0a5ce3abf8ec00012f83722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0689b3f234093c14230a384379fa9a72469942992dc40a92f71d5fc77000097bf5d48d6f3578a053c2e0d306735b176437f6aaf22b882f65fe3abf8ef00012f7d46a4069385768d3028e088c661c11481ab17ba42710790c0c757f1df00025ef9195a65d3e14f9d181e873984b9e050fe0271d081e210c5828eafe3bf0004bdf132b4cba7c29f3a303d0e730973c0a1fc04e3a103c4218b051d5fc77e00097be26569974f853e74607a1ce612e78143f809c742078843160a3abf8efc0012f7c456e5874be0df6b78c0fff41dc560afeabfd0e00c1087d015757f1df90025ef8739dd6744982159a94ec61033811f87d02be41c152111442beafe3bf3004bdf0d73bace893042b3529d8c2067023f0fa057c8382a42228857d5fc77e60097be1a7387f5bf36e7e95d07de68c5fadc473b5bd2cc518446b4b0abf8efcd012f7c337322442b44325571dc82f983ec16b67163e7f4a0088f0d6257f1df9b025ef8657256e1035ec72d9b85cc1affce8b94dd7412453d111fbec5afe3bf3704bdf0c970c01ab393f0ddeed85e5df7937551b59466e6772241218c5fc77e6f097be1916d928e13fe443e957d82e3e71d48cb65d51028eb4483e719bf8efcdf12f7c321673774d4d2eaffe2c7cbefc630efbec65662add3890972347f1df9bf25ef86415a8142567c38827d5c5e0784583da5875907b7a412148869fe3bf37f4bdf0c814114dd59ced387b285823700a6d973095e51cb45242ab4d4fc77e6ff97be19010e3c13607409921cd7ca95f944110e0d68e5f28748570daaf8efce002f7c32011c7826c0e8132439af952bf288221c1ad1cbe50e90ae1b55f1df9c005ef8640238f04d81d02648735f2a57e510443835a397ca1d215c36abe3bf3800bdf0c80471e09b03a04c90e6be54afca2088706b472f943a42b86d57c77e70017be190086fd38eb416fba485496f878c376f08d13aa1847185727eb08efce003f7c3200f6bb976150459cbc25fa53710653c399d218564e00ae6a1621df9c008ef86401d638544d6df161a3c8c109618c0d69b34ef4d25bd15cee6c53bf38012df0c8039531ce25a948eb730e4e75429780b5e648adca7772b9f718b77e70026be190071324c1d61ff7ff1199694d04ae674e4c3c1fbaaeb57408717efce004e7c3200e164983ac3feffe2332d29a095cce9c98783f755d6ae810e2fdf9c009cf86401c25542ce34d462471e271969239031bb09b43107aa5d03c060bf38013af0c803833697f5167f2710f41af8fa3f16c19e0e14a46b51ba0924c27e700276e19007056d2fea2cfe4e21e835f1f47e2d833c1c2948d6a374124984fce004edc3200e0a66722d06d2fec68838aa10f45164a032fed40943e826370af9c009dc86401c1358f6b2ba7c600fc83e1a49e099276860a9ea6e84d04e1216f38013ba0c8038253dffbe21cf22a24848fabbb928acf8bc00173906a09dc82ee7002775190070490811d4f074a7c7485ebb9f6a47b81972ac70ce0a413d345ece004eeb3200e0911023a9e0e94f8e90bd773ed48f7032e558e19c14827a68bd9c009dd66401c122204753c1d29f1d217aee7da91ee065cab1c3382904f4d17b38013bacc8038244408ea783a53e3a42f5dcfb523dc0cb956386705209e9a2f670027759900704880d2fa7b420def73db8801e9c71dfbf25734f3ca113d4e9ede004eeb4200e090f1a5f4f6841bdee7b71003d38e3bf7e4ae69e794227a9d3dbc009dd68401c121e34be9ed0837bdcf6e2007a71c77efc95cd3cf2844f53a7b78013bad08038243c697d3da106f7b9edc400f4e38efdf92b9a79e5089ea74f6f002775a1007048785f0cd3eee451f69354c811bf145a1a51e136260e3d5042df004eeb4300e090ef4a2c008a9f066fde76564b761f125c9e6eaea8197aa229bf009dd68701c121dd206a59c2146f6274b972bee43482e137899fac2ff545f77f013bad0f038243b940d4b38428dec4e972e57dc86905c26f133f585fea8beefe02775a1e070487720dbbbfb528200c8ab2912388c869acd8d2c10cbcd51981fd04eeb43d0e090ee31b777f6a504019156522471190d359b1a5821979aa3303fa09dd687a1c121dc636eefed4a080322aca448e2321a6b3634b0432f3546607f413bad0f438243b8c6dddfda94100645594891c46434d66c6960865e6a8cc0fe82775a1e87048771867ce53ff58634b62f5d860847cf8f587d85327ca5199c3d14eeb43d1e090ee2f5baf00ab8729197db876e900f050130a5ce8ab91a3352ba39dd687a4c121dc5d43705a03e4b4b5b33db3f9f9d6fe4e0f6613b320466bfb483bad0f4a8243b8b912f30cb49fcbee1e482e1beba45ac4197869c23d8cd99a91775a1e960487717125e619693f97dc3c905c37d748b58832f0d3847b19b33522eeb43d2c090ee2e24bcc32d27f2fb87920b86fae916b1065e1a708f633666a45dd687a58121dc5c423aabe51d4c1f3aa0e370755193448c66f906de966ce788cbad0f4b1243b8b8747557ca3a983e7541c6e0eaa3268918cdf20dbd2cd9cf11975a1e9624877170e1abd51f4296a516005a2454c5b2f4b146a8413a29b3b8633eb43d2c590ee2e1b357aa3e852d4a2c00b448a98b65e9628d508274536770c67d687a58b21dc5c366af547d0a5a94580168915316cbd2c51aa104e8a6cee18cfad0f4b1643b8b86c61fce84e21b50db7f9d8525acfd8809e0062f911d9ddd5a05a1e962d877170d7500c294919cc9e27c076ccad960f2936ad084e20b3bd4f41b43d2c5c0ee2e1ad2c2aab3f09fbbf074db3c153227c7a680652f83e677c4284687a58b91dc5c3595855567e13f77e0e9b6782a644f8f4d00ca5f07ccef88508d0f4b1723b8b86b23cbd05a8fe517ed503952d448050119ac58e3cf69df2ae12a1e962e577170d63058c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac50b18c7fda60b00c3a7e10501edfc96606ebdabd477ce004c87a58b97dc5c358a16318ffb4c1601874fc20a03dbf92cc0dd7b57a8ef9c00990f4b172fb8b86b142c631ff6982c030e9f841407b7f25981baf6af51df3801321e962e5f7170d62858c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac503d9ed88737128ef24ad67816d6278e01981d19447ce1a8c97a58b97ec5c3589f075009bb4487a09c62731825a2ad43fddc7c8e85f9c4f593f4b172fe8b86b13d0ea01376890f4138c4e6304b455a87fbb8f91d0bf389eb27e962e5fd170d627a1d4026ed121e827189cc60968ab50ff771f23a17e713d64fd2c5cbfa2e1ac4f43a804dda243d04e31398c12d156a1feee3e4742fce27ac9fa58b97f45c3589e80112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0897a308f6e463ef9fbd529109933ec3a05a22e4e287ea0258b97f4dc3589e78112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0158c893c44a8c1b1c89b51088f921434b1e48a4b288044268b97f4dd3589e77f2b191278895183639136a2111f24286963c914965100884d172fe9ba6b13cefe563224f112a306c7226d44223e4850d2c792292ca201109a2e5fd374d6279dfc3876a28efba8904611a0b03c72eec9a03b66ae564403c5355cbfa6eaac4f3bf770ed451df751208c23416078e5dd934076cd5cac88078a6ab97f4dd5589e77ee6dece2e8c504c3d01348e8e9c2194e7b99dd15561010b8d672fe9babb13cefdb67ec1e7e606c0a57f357f9cb7a90c4f1dffc86a9202315ade5fd37586279dfb55bea95a9973a9767b3761b8eeb7fb1de6c3b694f4047cf5ccbfa6eb1c4f3bf6943e7840004d7b18733b25f15cd5d8bb784b92e9b809142ba97f4dd6489e77ed113e160ace011e5c6342ae62391193f69b5b4b934012429762fe9baca13cefda127c2c159c023cb8c6855cc4722327ed36b697268024852ec5fd37594279dfb424f8582b380479718d0ab988e4464fda6d6d2e4d00490a5d8bfa6eb284f3bf6842b1d5e13d6f1b0e96e1d59147f28234859e8259d0922efb27f4dd6519e77ed07563abc27ade361d2dc3ab228fe504690b3d04b3a1245df64fe9baca33cefda0e3887d0fc3229465d853b8c49f2feb51c13e2f271248d62cafd37594779dfb41b710fa1f864528cbb0a771893e5fd6a3827c5e4e2491ac595fa6eb28ef3bf68366e319c9d9f079c2de1b4591fc258fc6afbce25c192372f2cf4dd651ee77ed06b687591e81471bb13902eda377b1020d0a3dea7802470025ae9baca3ecefda0d55cfd7c7cff45f8deed23dc66ec7e699bf3ffaafd48e1a8b6d375947e9dfb41a9460d51a6d4ee7475a70de0c5cf5afb329441b1f791c4f56ea6eb28fe3bf68351182cfbfa803f6ba31ae1e98395141e5fd4c5bfec238b8ede4dd651fd77ed06a13059f7f5007ed74635c3d3072a283cbfa98b7fd847171dbc9baca3faefda0d4260b3efea00fdae8c6b87a60e5450797f5316ffb08e2e3b79375947f5dfb41a844d7a3880d85ddfd0a3d574149eff1af952705b5e1c5e1af36eb28fecbf6835072706c9ae871e425914711021345c5ded512312b938bdd9e7dd651fda7ed06a0d4e0d935d0e3c84b228e2204268b8bbdaa2462572717bb3cfbaca3fb4fda0d41a282d7f66f2db8c1c1e8a687cc7cf9faff0cea6e1e2f90ba075947f6afb41a833505afecde5b718383d14d0f98f9f3f5fe19d4dc3c5f21740eb28fed5f68350662cc85648a1d0b32846efc9eb159ca6ba6f7cf7848be5d282d651fdaced06a0cb5990ac9143a166508ddf93d62b394d74def9ef0917cba505aca3fb59da0d41963f33b1cf5da54f58e8854fa44cd0c2e46a363a0f2f98ee0c5947f6b4b41a832b0a79bc4b91ad21699dd0c7408fffadc380aed01b5f338019b28fed6a6835065514f37897235a42d33ba18e811fff5b87015da036be670033651fdad4d06a0caa29e6f12e46b485a677431d023ffeb70e02bb406d7cce0066ca3fb5a9a0d4195453cde25c8d690b4cee863a047ffd6e1c057680daf99c00cd947f6b5341a832a833ae1d65f1349951a9d29c00f6590432b72f5db2f339a59c28fed6a78350654f675c3acbe26932a353a53801ecb208656e5ebb65e6734b3851fdad4f06a0ca9e5acace449b34e7fe741097fbcfc238c588ffd2c8cce83a71a3fb5a9f0d41953b41a7f5360ccc52b4b4e757ef95e29985be42018e99d218e447f6b53f1a832a750f624318effb28213694d7d722235b0628c65f1a33a5d5c98fed6a7f350654e91ec48631dff650426d29afae4446b60c518cbe34674bab931fdad4fe6a0ca9d23d890c63bfeca084da535f5c888d6c18a3197c68ce9757263fb5a9fcd41953a407247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a7470e48e2e8ac77878302d9cd620ef20057e4eaa99d3a60a49afed6a7f550654e8e1c91c5d158ef0f0605b39ac41de400afc9d5533a74c14935fdad4feaa0ca9d1c39238ba2b1de1e0c0b6735883bc8015f93aaa674e982926bfb5a9fd541953a387247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a747070a087379ddafae7fa62fe18e57e2d78faecf5d0a60bedb0ed6a7f560654e8df6d53671c12187887c18c2429c15a82eca21c479e4c197f62dad4fead0ca9d1bd66b926e4fa9373c74fde704b79132dd3f07aeb399834a2c6b5a9fd5b1953a3795984a676cb896a466c83088ee88483a28d383270306ae98e6b53fab732a746f13f1ba59a6d755744a5cc3915c7672f3fc6b2c0dd60d7771dd6a7f56f654e8de10a49a3e1b14d3141185e9a23852c867a39a7ddb7c1b0923cad4feadfca9d1bc1149347c3629a628230bd34470a590cf4734fbb6f836124795a9fd5bf953a378229268f86c534c504617a688e14b219e8e69f76df06c248f2b53fab7f2a746f04524d1f0d8a698a08c2f4d11c296433d1cd3eedbe0d8491e56a7f56fe54e8de0830ac96c7eb3596c952afca3049268f9e46c037791b0ac7cbd4feadfda9d1bc0f61592d8fd66b2d92a55f9460924d1f3c8d806ef236158f97a9fd5bfb53a3781e4ec4b3cc8338dddd178550b91af86673c74339e16c2cc33053fab7f7a746f03b299bc045dcd43e71fbd0c96a2c4ef4e23ac8cfbfd85b2a61a7f56ff04e8de0755337808bb9a87ce3f7a192d4589de9c475919f7fb0b654c34feadfe09d1bc0ea328159c449b37c7fbc094da0a799fb8397659afc616e4d879fd5bfc23a3781d36502b3889366f8ff78129b414f33f7072ecb35f8c2dc9b0f3fab7f84746f03a65617bfbdfd3074b6bceb5e7a94c6160909d8c7ee85bada1f7f56ff09e8de074b3841d828d0c36c25469ce4ed1fea540cbff3ebda0b77583ffeadfe14d1bc0e957083b051a186d84a8d39c9da3fd4a8197fe7d7b416eeb07ffd5bfc29a3781d2a6d19b9501970334ce739bbac7607782dac120b652ddf0500fab7f85446f03a536645cb4d0942e9519b399f50e26d1856046672c75bbfae02f56ff0a98de074a5589def46e8e8555b03396699bb3858a6b50f418bb7810006eadfe1541bc0e9493d4e373aa8332d6dd338f52b6cced9481660df146f03a40ed5bfc2a93781d29106aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a5210d5d8e444d91bb26e670249d9ff7b515b208344bbc11d83d56ff0aa6de074a421abb1c889b23764dcce0493b3fef6a2b641068977823b07aadfe154dbc0e9484357639113646ec9b99c092767fded456c820d12ef04760f55bfc2a9b781d29086aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a521061eb3cf1af7e352633c871d1f5d97955ccc5a0b8c11f27d66ff0aa6ee074a41f4fe8d290355eed0434570b9be2111aa645cd9d6e823ff3addfe154dec0e9483d2be3fdcd41205cc035743f2fba805d4737dd96da04818b5cbfc2a9be81d2907957c7fb9a8240b9806ae87e5f7500ba8e6fbb2db4090316b97f85537d03a520f23ba24fe1dae3f5b8a29724b6e05f9d178bb8b7651207d173ff0aa6fb074a41e30356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a0d5be1c230a9b8a447d1c596dc7588a70ecf2b1c90451ba3f85537dc3a520f141ab7c384615371488fa38b2db8eb114e1d9e5639208a3747f0aa6fb874a41e28356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a061d074cfe0fe0cfc49e28165bdb6b26b99350dc604535e4085537dc4a520f13f4fb3424c985e9cb0608b2ac371cb8cd1deac778908a860820aa6fb8a4a41e27d2b78dd46071fbc188ddc7d7ed9f5419e699b4b0f11526505154df7159483c4f956f1ba8c0e3f78311bb8fafdb3ea833cd336961e22a4ca0a2a9bee2b290789f239f5cdc4f2e1731a04381df35e332e7452af8839454b38155537dc57520f13e373eb9b89e5c2e63408703be6bc665ce8a55f10728a96702aaa6fb8aea41e27c673e98fc0a1e84f1fdda69fc56f2ae1cbf7007ce2152e845654df715e483c4f8b73e5782e1a3320f788136782d4b3eb929a4355c12a5eacada9bee2bd90789f1573dd49090ac8c4a6dcecf6fd9fc5ff1fe0c9077f54befd5c537dc57c20f13e2973cceabeebf40c0586a015f335ea263a6dd46afba97f9eb9a6fb8af941e27c5173ac2e2aae4a9ac2da0653de6232746f87eb31f45300e1744df715f383c4f8a1736ab50232f7b83d80d2cfb4bac310d9bc18bfe5a60366e99bee2be80789f14172e7c2b13c51f332ce6bc7616be449ae2473dbc84c0871d437dc57d10f13e28171e1de0f4f06691d699db6bace26bb56f52a138d981287a96fb8afa31e27c5016fd614cb746f54f2a001956d92ab9ea8969683183026b353df715f473c4f8a016bbe8243bf412c9d0cc952d31bb5654bd96f622d604f0aa8bee2be8f789f1401638f5d3454e4dbf1e658cd9e2dc8f2925f212057c09fb9527dc57d1ff13e280153311315802c3a9b9977c33451f00d1f6a849cac814116a5fb8afa40e27c500132747ed7d6baf7eeffb5ae609a3e4239814b95560283d14cf715f482c4f8a00164e8fdafad75efddff6b5cc1347c847302972aac0507a299ee2be90589f1400255e4540c314e6273cb9ce17a5f5730e0b170b1550a10e934dc57d20c13e2800337db00c538ff479f63ffeaecb50c89bc0f23bea71423766ab8afa41927c500056fb6018a71fe8f3ec7ffd5d96a1913781e477d4e2846ecd5715f48324f8a000a6b7e5bc1ba5fa1355cc5d3aaca904eeae8d15699508f7dabe2be90659f140013630f10304b21c5228651cf4d8b7ec5d07de5092fa1209f58c57d20cc3e2800255230790d6ca60cfcd969c6930d5bb39ba80c6e5c4242e2b28afa41997c50004930734ac7afae9cb17f99b51e11158f31fc5b38b58487696615f48333f8a0009160e6958f5f5d3962ff336a3c222b1e63f8b6716b090ed2cc2be90667f14001224ddf83cb951cf57dcb2cfc703ab464c29daf3ed3121f499957d20cd0e280024327d16044009c6db3632020d86bc6f17fe7a0d9a324403733afa419a2c50004854fa2c0880138db66c64041b0d78de2ffcf41b34648806e675f4833458a00090a2b57d9bcd8d439855946ab59a579edfa4ac5c289910280cfbe90668c1400121356afb379b1a8730ab28d56b34af3dbf4958b85132205019f7d20cd18280024263971bfa039b368cd31e0d55e8c45dfe3d7596623440ba73ffa419a315000484b72e37f407366d19a63c1aabd188bbfc7aeb2cc4688174e7ff4833462a000909671d9572dbd3025ec94497d722775a78a09a7f48a10304100e90668c64001212b6fc5070850c2ce90f55922dc4549770ebf92451120622602d20cd18d800242556b9c66bd77e81fd9b7786db080f116182b66e61f40c5f006a419a31c000484a9634b2627c632c26b3bb70358f840542b0310283b818d840e483346390009095152a8a4fc62c8078e44342ea9e6ded050b262ac74031cac1d90668c73001212a13163a2a59bf291d4552e854bc41bc89c1107b4e5063afc3c20cd18e70024254162c7454b37e523a8aa5d0a9788379138220f69ca0c75f878419a31ce00484a8251a0e343462cca0921803d2706cd4a6af0612f9118ed94f18334639d009095032f541f3362bc16ca0fc6a24603f8bcd08d04bb1f31dccde40668c73b01212a055ea83e66c5782d941f8d448c07f179a11a09763e63b99bc80cd18e760242540a4962d57a6152dde00be0b11006411b3ce0554879c774db9119a31ced0484a8131ed803a199083e77e4878a1802e05e746cececf08eeb5b23334639db090950253db0074332107cefc90f143005c0bce8d9d9d9e11dd6b646668c73b61212a04a077267333a837c975ee4505801dfa1cc5ff60fbf3baf108dcd18e76d242540930ee4ce667506f92ebdc8a0b003bf4398bfec1f7e775e211b9a31ceda484a81261dc99cccea0df25d7b914160077e87317fd83efceebc423734639db49095024c3b933999d41be4baf72282c00efd0e62ffb07df9dd78846e68c73b69212a04980338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e0ce32f81fa6930b6ec2cb5e051611302ae8d5fc2ebcab3774639db4d095024bc19c65f03f4d2616dd8596bc0a2c226055d1abf85d79566ee8c73b69a12a04978338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e05a4550cc7cf58e268f9185fd0c6f58259518582bbcacdb75639db4d195024bbf409cfa45d04d9f04ebe933f20f3cd845d6730c54795b5aebc73b69a42a04977d0d4c4d3876fdc0c1a4988fdc14d7d886592874a5f2b859d88e76d34954092ef91a989a70edfb818349311fb829afb10cb250e94be570b3b11ceda692a8125df2353134e1dbf7030692623f70535f621964a1d297cae1676239db4d255024bbe46a6269c3b7ee060d24c47ee0a6bec432c943a52f95c2cec473b69a4aa04977c860d72c34463e8ed2164f25b943dbb0603ec9a65c2b874189e76d34964092ef8f4dc0b11562dfa05bf964736a7e1588bb29d5a8b557102714ceda692d8125df1d2793bad79c21c36fbf8f0eccf2893970ffedad67ae21f22a9db4d25c024bbe394f2775af384386df7f1e1d99e51272e1ffdb5acf5c43e4553b69a4b804977c722a61440b46e99076cb02632bc0830dbeabf9119bb8896cab76d34971092ef8e354c288168dd320ed9604c65781061b7d57f223377112d956eda692e2125df1c6359768d9f208c492f8cfb4a6f86a5ef55c26a26be22756aedb4d25c524bbe38b6b2ed1b3e4118925f19f694df0d4bdeab84d44d7c44ead5db69a4b8a4977c716626ffc149e859503b004fa93d807a3d01cdce5ac889efebc6d34971592ef8e2b50f250d6136dacbf2cd01d1fa66d6f9ae5fc2756113fa179da692e2c25df1c552df6fa58fd3ddc362666623743390730783aaaa92280e6f4b4d25c594bbe38a95bedf4b1fa7bb86c4cccc46e86720e60f07555524501cde969a4b8b2977c715243ee4210cb59f390665fb0d5034244bc8d2d06a18a053fd3d34971662ef8e2a313eedcce6d1669d8998589a1fce2b173c69c6940140c23a8a692e2cd5df1c54527ddb99cda2cd3b1330b1343f9c562e78d38d280281847514d25c59abbe38a8a4fbb7339b459a76266162687f38ac5cf1a71a50050308ea29a4b8b3577c715142b893f203f15d17c98f27507dd73b398e125a5fda062c1463497166bef8e2a2757127e407e2ba2f931e4ea0fbae76731c24b4bfb40c5828c692e2cd7df1c544e3a37552dd2b9c8aa308ffc176c2cf65e30d8f3f3818ca919d25c59b0be38a89b008103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a808103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a800d156128ac768ee5b2e64ec6ae72df08a08640001af7d8a5b8b3627d715134ff1a2ac25158ed1dcb65cc9d8d5ce5be11410c800035efb14b7166c4fae2a269fe345584a2b1da3b96cb993b1ab9cb7c22821900006bdf6296e2cd89f5c544d3fc68ab094563b4772d973276357396f84504320000d7bec52dc59b13eb8a89a7f85d686b379dcb7112fb2b1462dd8c1884b4a65bfeaf7f2e5c8b3627d815134fef46e32f1c11f964ddc31c50bdb1765904158f13fa5f0000ba166c4fb12a269fdd19d8b6e4fa554c7352fec973594ada02d76083f1be01a5752cd89f63544d3fb933b16dc9f4aa98e6a5fd92e6b295b405aec107e37c034aea59b13ec6a89a7f726762db93e95531cd4bfb25cd652b680b5d820fc6f80695d4b3627d8d5134fee45ad80fd4a90ce65264bc7392c0b4f81167467b8af00ecfaa66c4fb1ba269fdc741c27856287c4f5c963f0f1d77c8181d7acf5312e01f4355cd89f63844d3fb8d0f974959275b2170f9444632e5ee5835a1e10222c0402aac9b13ec7189a7f7191f2e92b24eb642e1f2888c65cbdcb06b43c20445808055593627d8e3134fee323e5d25649d6c85c3e51118cb97b960d68784088b0100aab26c4fb1c6269fdc6408cca376113b8e3f96e8598f25d0e9a7bb4a6d130202f965d89f638d4d3fb8c7119946ec22771c7f2dd0b31e4ba1d34f7694da260405f2cbb13ec71a9a7f718e23328dd844ee38fe5ba1663c9743a69eed29b44c080be597627d8e3534fee31c46651bb089dc71fcb742cc792e874d3dda5368981017cb2ec4fb1c6a69fdc63818dc900dea1b66b13b4bc0ea536cc27660e92d2d20313a5e89f638d5d3fb8c6f31b9201bd436cd62769781d4a6d984ecc1d25a5a406274bd13ec71aba7f718de63724037a86d9ac4ed2f03a94db309d983a4b4b480c4e97a27d8e3574fee31bc52f6d91c273db841a7242f4a91c43badb38bc566018b76f54fb1c6af9fdc637732000ae524ddf33b1b0e868d19e69f561359e6c9031891eb9f638d603fb8c6ed640015ca49bbe676361d0d1a33cd3eac26b3cd92063123d73ec71ac07f718dda5412844169da4fa43900422c5df8a552f9a9f7210c63ebaf7d8e3581fee31bb33437612faa1722003ec6ac50b24f72a09f964a3f18c97b5ffb1c6b04fdc63765686ec25f542e44007d8d58a1649ee5413f2c947e3192f6bff638d609fb8c6eca5cefdd6b7ebf0ab8c7e0d93abf9bf27d2a9b84f963279180ec71ac14f718dd9345f21383d3e098295c87da6d75960cf5017965efc650c702d8e3582aee31bb2517f67fb47e23b30a85d5dcd2e18a41e4af3527dc8ca33206b1c6b056dc6376492fecff68fc4766150babb9a5c31483c95e6a4fb91946640d638d60adb8c6ec925fd9fed1f88ecc2a1757734b86290792bcd49f72328cc81ac71ac15b718dd9244bc65650c7801b0bfb750e8f02b0372025eb9ae1651b34368e3582b7e31bb247239f054e6562b8cfc3b04515fbbe963af81991bfca380c6e1c6b0570c637648d473e0a9ccac5719f87608a2bf77d2c75f033237f947018dc38d60ae18c6ec91a1a8e6de66bed65f6db873c4fe55880e68ca8a2fc28e1d5b971ac15c418dd9233351cdbccd7dacbedb70e789fcab101cd195145f851c3ab72e3582b8831bb24666a39b799afb597db6e1cf13f9562039a32a28bf0a38756e5c6b05710637648cc6085c7e035cdb26ea9000a7721222f2f118773de471051cc8d60ae21c6ec91974d1de86d41fde7951ec63ce638a28658cf5143b98e22479a1ac15c448dd9232d264e29875a5e51e20a52a1c467a334ac4ae4e3701c4633353582b88a1bb246594c9c530eb4bca3c414a54388cf46695895c9c6e0388c666a6b05711437648cb2254afeca3fdbca3ff610af0994eafaabd7d5e9bd711a70d5d60ae2296ec919634a95fd947fb7947fec215e1329d5f557afabd37ae234e1abac15c452dd9232c6213e53d5d5d1abb7a508e41e4a0a12aa0b9a02f2c46b6758582b88a6bb24658b427ca7ababa3576f4a11c83c94142554173405e588d6ceb0b057114d7648cb16110ba8042da9319660e9b8711e8672a2daaa67c811af416260ae229bec91962b221750085b52632cc1d370e23d0ce545b554cf90235e82c4c15c4537d9232c56442ea010b6a4c65983a6e1c47a19ca8b6aa99f2046bd058982b88a6fb24658ac146f98ce43ac0f6ad413eb80ea91bd1181959a3d8d7baf14057114e0648cb15728df319c87581ed5a827d701d5237a23032b347b1af75e280ae229c0c91962ae51be63390eb03dab504fae03aa46f446065668f635eebc5015c453819232c55c2f8f1f1ef3c2fe0e6d6583ff4aec1086b8ef2de96bdf1ca12b88a70424658ab75f1e3e3de785fc1cdacb07fe95d8210d71de5bd2d7be394257114e0848cb156e4a4ed528a56e7af1825c37f5220e6a158fff13a2af7e1685ae229c1191962adb20b002fe213f789ad17e97e23a7afc25cc4083425efdd10c5c453824232c55b5416005fc427ef135a2fd2fc474f5f84b98810684bdfba218b88a70484658ab6a0ed264a55b60652312c08780e04a1891dd4469067bf8e8327114e0918cb156d31da4c94ab6c0ca4625810f01c0943123ba88d20cf7f1d064e229c1231962ada63b4992956d81948c4b021e03812862477511a419efe3a0c9c453824632c55b4c02a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e0a95f75ec596af418b298ffbe2bbb226599690c37f239652229c1235962ada5c152beebd8b2d5e8316531ff7c577644cb32d2186fe472ca44538246b2c55b4b82a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e03571ce992fcd76d07f5f27b622194a6045ab6834f23b092329c1235a62ada5bf6ae39d325f9aeda0febe4f6c443294c08b56d069e4761246538246b4c55b4b7e61d9931195985df9ca42c6d07ec3517bc2effcd0c8edc88da7048d6a8ab696fb4fc57ed001933eab614bb598f3e4caf23222559e91dd351c4e091ad6156d2df52b9d564cd989000e8f5d9329de27bddf1087073a23bc0e399c1235ad2ada5be9573aac99b312001d1ebb2653bc4f7bbe210e0e7447781c7338246b5a55b4b7d23a87b1e03c8682f20a3c749f6efd1f76ee5e78e58ef1dce77048d6b5ab696fa30121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d14090de36a7b7c44df09f889b6a2c3374447fa6e40ef2aee7f048d6b62b696fa28121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d1401cf08f548e26d0a86c4ec36222919c3f2be9400bf2b08bf148d6b62c696fa27f39e11ea91c4da150d89d86c44523387e57d28017e56117e291ad6c58d2df44fe73c23d52389b42a1b13b0d888a4670fcafa5002fcac22fc5235ad8b1a5be89fc7396d351479907fb2f3c43090aeb09f40b8c5c5c9586038b46b5b1644b7d13f7733fff4f659492ae2b3eae0a0c343be2c35b14b62b0dab178d6b62c996fa27ed7292574ba18ba8142343840c0ec69fc032f88569561cfa301ad6c5942df44fd9713707441979d2e0134d301013eb677b123366cfac3b986135ad8b295be89fb16e80673509562877f36088181e34f6f0d0a9299c5878d4c36b5b1653b7d13f6169132716e90ed3a7b387382832c815dc4d94af35b0f34d87d6b62ca86fa27ec15e38a6daa8802a0733d498485bee53b3476bba6861e83f10ad6c5951df44fd814883a6622762d6c6346f5888ae3acf613b19d0cdc3d222225ad8b2a4be89fb011d19a5712528304435a4d90952d3c6bd2275fd9887a5e845b5b1654a7d13f6013a334ae24a5060886b49b212a5a78d7a44ebfb310f4bd08b6b62ca94fa27ec020078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec018078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec01800500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff0a01942fb34c96b64ca48a7347422e618d297637328d77af8b2a55ea9fb005fe1403285f66992d6c994914e68e845cc31a52ec6e651aef5f1654abd53f600bfc280650becd325ad9329229cd1d08b98634a5d8dcca35debe2ca957aa7ec017f8500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff02c2b9ba80b2bee1c970ecf2c6a810e137ed9bf7028d91ef9b2a55eaafb005fdf585737501657dc392e1d9e58d5021c26fdb37ee051b23df3654abd55f600bfbe3cc0c74d03123b2a290164a9a0626048a7a959bda3661fe7ca957aacec017f7b0593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef50b27ce8db90df2183d91e2966e45d117f72a1ef08d9bc7a12a55eab5b005fdea164f9d1b721be4307b23c52cdc8ba22fee543de11b378f4254abd56b600bfbd42c9f3a36e437c860f6478a59b917445fdca87bc2366f1e84a957aad6c017f7a8593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef503e8f41886741a43ba5e4515edabb397a1ee44b05d9be1e13a55eab5c005fde9f0930dbbda4e5cb2f188ecab5abd49aeeea0af208b37de0284abd56b900bfbd3d1261b77b49cb965e311d956b57a935ddd415e41166fbc050957aad72017f7a7a24c36ef693972cbc623b2ad6af526bbba82bc822cdf780a12af55ae402fef4f44986dded272e5978c47655ad5ea4d777505790459bef014255eab5c805fde9e81f20148724bf35a955b2d352b3a7d6e94cf17c8837dfa685abd56b910bfbd3cf3e40290e497e6b52ab65a6a5674fadd299e2f9106fbf4d0b57aad72217f7a79e0892aac9695f595d23917542c4fd839fe0084e1ddf803e17af55ae452fef4f3b11255592d2beb2ba4722ea8589fb073fc0109c3bbf007c2f5eab5c8a5fde9e76224aab25a57d65748e45d50b13f60e7f802138777e00f85ebd56b914bfbd3cec4495564b4afacae91c8baa1627ec1cff004270eefc01f0bd7aad72297f7a79d8153d05436c58188a05dd7c24463661f8acc73ddaf805857bf55ae453fef4f3af2a7a0a86d8b031140bbaf8488c6cc3f1598e7bb5f00b0af7eab5c8a7fde9e75e54f4150db16062281775f09118d987e2b31cf76be01615efd56b914ffbd3cebc35fa82c839234707fbb2091a281137c0127c4ad4c02dcfe0aad722a0f7a79d776bf5059072468e0ff764123450226f8024f895a9805b9fc155ae4541ef4f3aee63fc63cdbaef9ed7bb8e4c6096a306faf633875000b8e383ab5c8a84de9e75db540b20484c41c06743e2c0b923a435f098a96a9d01736b0856b9150abd3cebb53428993d6ee60386548ba96a3da693dbdd95313702e87a11ad722a167a79d7696851327addcc070ca91752d47b4d27b7bb2a626e05d0f4235ae4542cf4f3aed25cb4bda291fa90d11ef4cda0ecf8776a229720d90ba38c47b5c8a85ae9e75da3457bd3f1fa57a45a0aafc339d04f16cef1709daf1748bc906b9150b6d3cebb45170a0090cb11cb6be225ae6b96fc55988f23975b2e931d21d722a16ea79d76892e140121962396d7c44b5cd72df8ab311e472eb65d263a43ae4542dd4f3aed125c2802432c472daf8896b9ae5bf156623c8e5d6cba4c74875c8a85ba9e75da2444625d332ef0de16ddf39b54ae40d4bf255f16d6749a8d0fb9150b763cebb44714d7131334443ee588ad5ea152dfd178f70089a9e936be20722a16ed79d7688d29ae262668887dcb115abd42a5bfa2f1ee011353d26d7c40e4542ddaf3aed11a535c4c4cd110fb9622b57a854b7f45e3dc0226a7a4daf881c8a85bb5e75da23432caf146788479e412311d028d5cb3c26446a94c49b795049150b76ccebb44676595e28cf108f3c824623a051ab96784c88d5298936f2a0922a16ed99d7688ce573e1dc6b8746a48158a9c022bd0f7043d5d012e26dff8134542ddb43aed119b3a8e943a474b5747f7db5ffc4e00160326fc5e594dc194278a85bb6975da2335012f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4097c090b27c98a3de3e73f8492f2a007d1d8c57cdc266280a85bb69f5da2334812f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4023d2e95f52fb26960b3a204125882877c9ceb3cac267cc0b85bb69f6da23347f47a5d2bea5f64d2c167440824b1050ef939d679584cf98170b76d3edb44668fe1b5dfe2a224f1d0ff9aea8fc8c7ec9d9d37d2b2809a0d42f16eda7dc688cd1fb36bbfc54449e3a1ff35d51f918fd93b3a6fa56501341a85e2ddb4fb8d119a3f66d77f8a8893c743fe6baa3f231fb27674df4aca0268350bc5bb69f71a23347ec670249fde8db6b379a3b6fdc5a5476c9482bb53d4d084579b76d3ee444668fd75a16eca8a8195927013d07b0ab07158d3c99c6779a122ef46eda7dc988cd1fad404031fe26953505cf4037594c6c53152575e8ec342601e9ddb4fb94119a3f590c92bca9238cecc36b4696aa8f36ce24f72e2dd5684da7d4bb69f72923347eb1192579524719d986d68d2d551e6d9c49ee5c5baad09b4fa976d3ee524668fd62324af2a48e33b30dad1a5aaa3cdb3893dcb8b755a1369f52eda7dca48cd1fac46495e5491c67661b5a34b55479b67127b9716eab426d3ea5db4fb94919a3f588553e233f0f314eee812f92a0e9cb0a4a1f25395384dc214cb69f72933347eb0f368e9f2af4c52094cf254d39c9f43c8eea8ccea409b9e69a6d3ee527668fd61d6d1d3e55e98a41299e4a9a7393e8791dd5199d481373cd34da7dca4ecd1fac3a664cd558a977050b095b5cdf1e2f1a365675968d26e93e6ab4fb949e9a3f587358ac035e29508ccddf7ce1b632bc5c67592d89174dd420d669f7293e347eb0e53d6a5f6929039c538bbfeb645bd6e0c95e9d6e2b9ba9e5add3ee527d68fd61c906e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac3910dce2efe50d376bdc88bfd815c17d31ad2fa70a86eaadeb94fb949f7a3f587221b9c5dfca1a6ed7b9117fb02b82fa635a5f4e150dd55bd729f7293ef47eb0e443738bbf9434ddaf7222ff605705f4c6b4be9c2a1baab7ae53ee527de8fd61c886e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac391068f54891e399ee945586000db7db59a7dbe96683eaaf8f95fb949f7b3f58721f5dfce9d09d965fe077d228136614db4a64152904d560c32cf7293ef77eb0e43d480c2c4e118f4278bc6a781ec287de8f746cae06aac32a5aee527deffd61c8791c2ab148f98107a9459b18357b6de519951bb80a5587f8b6dca4fbe0fac390f138556291f3020f528b36306af6dbca332a377014ab0ff16db949f7c1f58721e270aac523e6041ea5166c60d5edb79466546ee029561fe2db7293ef83eb0e43c46d67e2f4a26ac001f99ee9a3d1cd50c755201c4fac4169b7e527df08d61c878766e21e961b3802bbc003fb3f99f8c9895682949c58847770ca4fbe12ac390f0d59d695d90cd2882f4cce1e772a4fbb0d59478535b10a92e2949f7c2658721e193fbf845ef0079316666264e64afd9e155ed166686216c9c6293ef84db0e43c310b91616ab671a8e4998af1c48c59642569e528cdc42f378d527df09c61c878611722c2d56ce351c93315e38918b2c84ad3ca519b885e6f1aa4fbe138c390f0c22e4585aad9c6a392662bc71231659095a794a33710bcde3549f7c2718721e1845c8b0b55b38d4724cc578e2462cb212b4f29466e2179bc6a93ef84e30e43c30845286f583d7d110165754440bbf46a514a94e8d942f51cd627df09c71c87860f1663375d515ca4ba97b0b0796e46fc9d416c2daf85ebddad4fbe138f390f0c1d2cc66ebaa2b949752f6160f2dc8df93a82d85b5f0bd7bb5a9f7c271e721e183a598cdd75457292ea5ec2c1e5b91bf27505b0b6be17af76b53ef84e3ce43c30743f2c13976147a88c8a4babc368960ce4b7a3c9792f60916b7df09c7ac87860e70a6a7fdb98f1d3d0e15d7f7ec78a41c41b89eeef5ec2c6d7fbe138f690f0c1cd14d4ffb731e3a7a1c2bafefd8f1483883713dddebd858daff7c271ed21e1839a29a9ff6e63c74f438575fdfb1e2907106e27bbbd7b0b1b5fef84e3da43c307345353fedcc78e9e870aebfbf63c520e20dc4f777af61636bfdf09c7b487860e6832ba5666657fbfc5e29e1fe46f02443c64e14af2ec2e1180be138f6a0f0c1ccf6574accccaff7f8bc53c3fc8de048878c9c295e5d85c23017c271ed41e18399e56fbb2466c6181cf573ea789b26738ec3fc787c8b0b9ea03f84e3da93c30733b3a09bd39af2586567b43770b5b2c99d32bd16b8e61757808f09c7b537860e6750025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200235ed97f8ca015c5011e62aad3ccac0a410ec308b251ef85e3da9fc40733a3ff46bdb2ff19402b8a023cc555a7995814821d861164a3df0bc7b53f880e6747fe198dbeab08e2d9cbd13fb2a34590d823b07d681fc94962188f6a7f111cce8ffb331b7d5611c5b397a27f65468b21b04760fad03f9292c4311ed4fe22399d1ff66636faac238b672f44feca8d1643608ec1f5a07f252588623da9fc44733a3fec58804e051d79511656c3bd1222e4e918302d9cfb4a4cb4c57b53f889e6747fd73d12f4b7115524e47a4da21c3c27fa2b0c9d95f3949b0d8bf6a7f114cce8ffad0638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590c708435f219990182c2d860dd5c38a18afb0fc8526f7e31da9fc45533a3feb218e1086be43332030585b0c1bab8714315f61f90a4defc63b53f88aa6747fd6431c210d7c86664060b0b61837570e2862bec3f2149bdf8c76a7f1154ce8ffac8638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590531a9c0bf7fc12cff8f3ae05cc21b2135bf3588226f9871ea9fc45543a3feb1f324790c4c65aa857bead84038ea18c2164290d014df4b23e53f88aa9747fd63d648f21898cb550af7d5b08071d431842c8521a029be9647ca7f11552e8ffac7a55309bbfefcd2416c77c380630e458803ce6900237d46cfa4fe22aa6d1ff58f33673902cb5fccae55bbe98045826d8fb260f7c016faa7df59fc4554ea3feb1e56ce720596bf995cab77d3008b04db1f64c1ef802df54fbeb3f88aa9d47fd63ca65e0995fae55ae4d3bc0880956f98be744804c02beab9bd77f11553b8ffac79357d38b6c330ddf524447380aa4513fc93542f4027d58dbaffe22aa781ff58f253bb96f853c7e415c5554980d3f00a78d16c84401fab35b60fc4554f13feb1e49038537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac79220e14dedd3d7c15c1ddbd6049d17ddc53674b9003d5a16b0be22aa78dff58f2441c29bdba7af82b83bb7ac093a2fbb8a6ce972007ab42d617c4554f1bfeb1e48838537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac792206d604680ae23ded5a89c2c950e3bed3120fb5c3a5a1854bf22aa78e0f58f243f66d2e5ae32aa40631dfe812212d6025cee391471b4324d7f4554f1c2eb1e487d59b824093bb7037e08c32a3c1c0a2cb488b484e068663eff8aa9e386d63c90f93f82a0bf4dd089b3de4c7c702e728163bdab65bdd0ce22001553c70eac7921f10b179a2b7203961f895f20d853432ac227992778a19de8012aa78e1e58f243e1162f3456e4072c3f12be41b0a68655844f324ef1433bd002554f1c3cb1e487c22c5e68adc80e587e257c83614d0cab089e649de28677a004aa9e387963c90f8458bcd15b901cb0fc4af906c29a1956113cc93bc50cef4009553c70f2c7921f083d8bfb63f69be4b062b8357d2a90d41d25d4d38719e02413aa78e1e68f243e0f072a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0e549ee987349831246d25e496ffa069efd806166783d850a9e3879c3c90f83a1ca93dd30e69306248da4bc92dff40d3dfb00c2ccf07b0a153c70f387921f07439527ba61cd260c491b497925bfe81a7bf6018599e0f6142a78e1e70f243e0e872a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0715c474549ac05ca1398864166582e99a9c2bd63783f290b9e3879c4c90f839f6ecae73769ba8e4bf3f7347ac30e852dffc7d6c3f07ff6183c70f38a921f073d69a8271ba9d79f4fb4b490ed7c7b3256abd20984e101903178e1e716243e0e795f62a6e42a11c157362f49d2ef548ca803e66f06c204c463f1c3ce2d487c1cf14ad7a6752a8605663924bb9dd507414ab40f3a0a840b2cc8e3879c5b90f839e121c1a5972b6e8d843f0f9f33a06caa901460d0120817fd92c70f38b821f073c143834b2e56dd1b087e1f3e6740d9552028c1a024102ffb258e1e717043e0e7821318ef09841cb8c8c904a4c67810d23afdc59c4520619a4c1c3ce2e187c1cf032631de13083971919209498cf021a475fb8b388a40c334983879c5c30f839e064c63bc261072e32324129319e04348ebf71671148186693070f38b861f073c0c24d9d0f8f74848fe14eb4e2bb6e4b9d29a6f3e26030e7661e1e7170d3e0e781749b3a1f1ee9091fc29d69c576dc973a534de7c4c061cecc3c3ce2e1a7c1cf02e1f799c90b383a6b0207360a6d1f10f4515ff54950c3b7d88879c5c35f839e05b3ef3392167074d6040e6c14da3e21e8a2bfea92a1876fb110f38b86bf073c0b609f8caefa4711d784e93aa933e22650f043fae5130ef9a231e7170d8e0e7816b13f195df48e23af09d2755267c44ca1e087f5ca261df34463ce2e1b1c1cf02d627e32bbe91c475e13a4eaa4cf889943c10feb944c3be688c79c5c363839e05ac4fc6577d2388ebc2749d5499f113287821fd7289877cd118f38b86c7073c0b582b9f07a71d745a3cb600d12bd88478eaf03d41100efb4632e7170d8f0e7816af573e0f4e3ae8b4796c01a257b108f1d5e07a82201df68c65ce2e1b1e1cf02d5e3a8e77494c33ebaaa4c96ca758700ba66d37603d3beebccc9c5c363d39e05abb012f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4097a39fb7652d068b2c80a3539f1fa3c3588e3bbbef8ecd1c5c363db9e05aba812f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4023b5f8643b8f8942f946cb4b957dcbbe04d097b8ef90711d5c363dbae05aba7f476bf0c8771f1285f28d96972afb977c09a12f71df20e23ab86c7b75c0b574fe1aea3a3dc4a0a7c3b1e155264c5556f2bf84bae0be43687670d8f6ec816ae9fb35d4747b89414f8763c2aa4c98aaade57f0975c17c86d0ece1b1edd902d5d3f66ba8e8f712829f0ec785549931555bcafe12eb82f90da1d9c363dbb205aba7ec63642a9afb67c0d55bd0d12a5908df90a8683302f21ce7b486c7b7650b574fd752daade2cd3204628467ca4ca86fe71bfd12c202e43b736a0d8f6ecb16ae9fad31c7b47270c68b7cd595bc91473df632a667e002c8788ad51b1edd972d5d3f59638f68e4e18d16f9ab2b79228e7bec654ccfc00590f115aa363dbb2e5aba7eb253312a76997cb0ab231d1a3d135600c545e1dc0821e3cf556c7b765db574fd633274ad9a095be40e13005c721d0a29853806140d43c942abd8f6ecbc6ae9fac564e95b3412b7c81c2600b8e43a14530a700c281a87928557b1edd978d5d3f58a55e50f14fbd212f018c799c06a86ce0f8c5aac320f26aeb063dbb2f2aba7eb1337dc76d6ce06a897fe555b78cb6bc419c4f7b4611e4f0161c7b765e6574fd6256fb8edad9c0d512ffcaab6f196d7883389ef68c23c9e02c38f6ecbccae9fac4a6b8434080e7d2517c61b95db240d3861c0212d81793da9881edd979a5d3f5893631ac0bcf35ccce758fd53ae3e7898be2c84b6fff27cf7113dbb2f35ba7eb1255247da26bd1c1c867ec0cf54734f5977054bc9fce4fb92237b765e6c74fd624930a20cfa509abbc4ca47c6a0dcfcdae8b6d9eff6c9f8c847f6ecbcd9e9fac491614419f4a1357789948f8d41b9f9b5d16db3dfed93f1908fedd979b3d3f589224e9a8c9618cd71caf5e5427b6a51939d87aa1bd827e4c520dbb2f368a7eb1243294771d907fd664db890aceecb014f35bb9693ad4fcb2e42b765e6d24fd62485528ee3b20ffacc9b712159dd96029e6b772d275a9f965c856ecbcda49fac490a31302010f6581beeaf08dbb3226364d19a9caab23f2e5d0bdd979b4a3f58921362604021ecb037dd5e11b76644c6c9a3353955647e5cba17bb2f36947eb1242650d2d8f0afc2f27288e996c47febbb4116b506c5fcbb1830765e6d29fd62484b2db80a8e35e8679cde995580f6359e7cd9ac6988f977d461ecbcda54fac490955b70151c6bd0cf39bd32ab01ec6b3cf9b358d311f2efa8c3d979b4a9f589212a42f282e5ae04212b472b7dfbcf34a1ee12f40220e5e0f588b2f36954eb12425311f75e78326ac50e5b1d23ef94c76bd6d22a603ecbc38f1265e6d2aad62484a523eebcf064d58a1cb63a47df298ed7ada454c07d97871e24cbcda555ac49094a47dd79e0c9ab14396c748fbe531daf5b48a980fb2f0e3c49979b4aab589212941bcd4c6e69b8ab2aa5af47749c9986b13d955df35e1e1c942f369557b1242527379a98dcd37156554b5e8ee939330d627b2abbe6bc3c39285e6d2aaf62484a4e6f3531b9a6e2acaa96bd1dd272661ac4f65577cd78787250bcda555ec490949c6a7cbc202427dc0cfa40639cdb2a5d8498ed4b97f0f288a279b4aabe89212937610bd0ed1eb23ad1c146ef31acb2e303de1cf32ce1e6b545f369557e1242526d4e29fa8713c6f85b4f54065b4fc3ee02687c4256c3cf0e8ce6d2aafd2484a4d928664dbafdf0736e6b6e34ae95e603ff7d3ae0aa879fc11acda555fb490949b150cc9b75fbe0e6dcd6dc695d2bcc07fefa75c1550f3f82359b4aabf6921293622dab8f98ce2450717a7efab24df637f8a12ddea71e80a86c369557ee242526c35b571f319c48a0e2f4fdf5649bec6ff1425bbd4e3d0150d86d2aafdc484a4d8642c097100ef3c47db6c212c12e3707dd30f9d6997a0445b1da555fb990949b0b119386ccf44a0bb33a4a4d7a52cc37b50e36092ff40a2f64b4aabf742129361523270d99e894176674949af4a5986f6a1c6c125fe8145ec969557ee842526c2a464e1b33d1282ecce92935e94b30ded438d824bfd028bd92d2aafdd084a4d85418ae8f1478b2e0519f1893ca8cbfe5a31df2a57ca0531f26a555fba20949b0a7315d1e28f165c0a33e312795197fcb463be54af940a63e4d4aabf7441293614e62ba3c51e2cb81467c624f2a32ff968c77ca95f2814c7c9a9557ee882526c29c5186d1509bf98544c58ac64c5c5d55139bd787e2029a9d362aafdd114a4d85372f1ffb4e0e558d4157dbb490af18d221e3f16bc10536de6d555fba23949b0a6d5e3ff69c1cab1a82afb769215e31a443c7e2d7820a6dbcdaaabf7447293614da489245e50fb8b7bd2c34fa3ab2c170823c080b0114dd1db6557ee88f526c29b31d36e476f5d3f23225301c6d5be108ff245271ff29bbdf6daafdd11fa4d853653a6dc8edeba7e4644a6038dab7c211fe48a4e3fe5377bedb55fba23f49b0a6ca00edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c076f54456d925c030c34cd6b2f125fb9ec611fcd37890dbd5fba23fc9b0a6c980edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c003079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe0c1e740ebe210ba2404bfaab9e108e65c9516341e249ff5bee88ff2ac29b25fc183ce81d7c4217448097f5573c211ccb92a2c683c493feb7dd11fe5585364bf83079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe04df99998b8733cdbd185d2b1d7670e574158901b24a199bfe88ff2ad29b25fbf28058bde4748fc6f6fd1cd5ba52c44a92ef37c334944d780d11fe55b5364bf7d500b17bc8e91f8dedfa39ab74a5889525de6f8669289af01a23fcab6a6c97efa2c288825f38674758c0d5d668b0f3a9f68104cca25150204447f956e4d92fdf35851104be70ce8eb181abacd161e753ed02099944a2a040888ff2adc9b25fbe63cb47944a47c548dfcfb9d92229b12784c838f259455ac1211fe55ba364bf7cb057b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef950af6966c3eb657a78d7ac638772899d68a92f4905159f84a47f956ead92fdf2a15ed2cd87d6caf4f1af58c70ee5133ad1525e920a2b3f0948ff2add5b25fbe542bda59b0fad95e9e35eb18e1dca2675a2a4bd2414567e1291fe55bab64bf7ca857b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef9503b7bbf70c1c7fd30a4728b7f68e7c5635571a50215a128a57f956eae92fdf29f0309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a0c275e3967c9f46456acfbdb20b6cb055c969804ad0fd52ffcab757897ef94f4184ebc72cf93e8c8ad59f7b6416d960ab92d30095a1faa5ff956eaf12fdf29e8309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a04e883c435301c8fd3795e5aa01cad85075abdc47d0fef700cab7578a7ef94f3f2922d1337c6614b23bf1f34bf9f3d89b979a148ca1ff9202956eaf15fdf29e7d5245a266f8cc296477e3e697f3e7b1372f34291943ff24052add5e2bfbe53cfa309d9d7ac7fad580bc8df527de2d8a690aaaae2f87ffec0b55babc58f7ca79f3613b3af58ff5ab01791bea4fbc5b14d215555c5f0fffd816ab7578b1ef94f3e64e88ce97f64dd8babefdfc976f14519ed6ed14bb2001542e56eaf164df29e7cb2923f5dcc2fe342d4ac22126d486cb385a1c857340044c5dadd5e2cabe53cf955247ebb985fc685a9584424da90d9670b4390ae6800898bb5babc5957ca79f2a30a2301fe25b536cf7ceac93487954dc14b471ca0012d577b7578b2bf94f3e536144603fc4b6a6d9ef9d592690f2a9b82968e3940025aaef6eaf1657f29e7ca64e9b192c5fcfd06bac00da4518437b6aff142325004cf9dfdd5e2cb0e53cf94b29488b059602238f24c7dc8226e51ed0aa6aa247009b97c0babc5962ca79f2955291160b2c04471e498fb9044dca3da154d5448e01372f817578b2c594f3e52a313484c32e6b10f45fe59a0091f2a33d55ece51902700303eaf1658c29e7ca53626909865cd621e8bfcb340123e5467aabd9ca3204e00607d5e2cb1853cf94a650e46bb9900ec6894c5c8ffa3e28b4f003f5f06109c1b010abc59631a79f294b2ddb301ff6800fca657f47ec72af91dab42e3cbf13850422578b2c644f3e52955bb6603fed001f94cafe8fd8e55f23b5685c797e270a0844af1658c89e7ca52a437f192cb062c1e162c347a9c11c6f657cfb4ef94e15b48a5e2cb1923cf94a5313108b063728067a924cb74b789706c5a638f9ef9c2d0d15bc59632579f294a52621160c6e500cf524996e96f12e0d8b4c71f3df385a1a2b78b2c64af3e5294a4c422c18dca019ea4932dd2de25c1b1698e3e7be70b43456f1658c95e7ca52942496b0de8fa2b68c5f2be253bb165e27de0a2b79e16a0caee2cb192ccf94a527492d61bd1f456d18be57c4a7762cbc4fbc1456f3c2d4195dc59632599f294a4e1e6d1c2714ed5ce94975b146e2b7a09a246b09e485a9d6bc8b2c64b43e52949b3cda384e29dab9d292eb628dc56f413448d613c90b53ad791658c9687ca5293605c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b0b8d9292542fecb9e539da27027954c67bdd071e2d51fde6596325a3f294a4d6171b2524a85fd973ca73b44e04f2a98cf7ba0e3c5aa3fbccb2c64b47e52949ac2e364a4950bfb2e794e7689c09e55319ef741c78b547f799658c968fca5293585c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b044eb81d219614e562063ca681df374626a12cddfd521826696325a40294a4d5f15e95c5109251f640d8dbcc8324510bf8067f7bcaa44a8ce2c64b48152949abd2bd2b8a2124a3ec81b1b7990648a217f00cfef795489519c58c96902a529357a57a5714424947d903636f320c91442fe019fdef2a912a338b192d2054a526af43b5d3b351f8b7dd839340e398886adf6af8219e25226ea726325a40b94a4d5e702cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a0b333c5c55e5f9a0fcb911ac1dae0fa02d1a3f06913de397192d2060a526af34166678b8abcbf341f97223583b5c1f405a347e0d227bc72e325a40c14a4d5e682cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a03f461e7234c21cc7985742b9d13f21fd7de64c6613dfdd7292d2060b526af33f0a9e95913fe6bc46fd74ad6b98dc6bf5a80ef4c927c15ee625a40c17a4d5e67d153d2b227fcd788dfae95ad731b8d7eb501de9924f82bdcc4b48182f49abccfa2a7a5644ff9af11bf5d2b5ae6371afd6a03bd3249f057b989690305e935799f454f4ac89ff35e237eba56b5cc6e35fad4077a6493e0af7312d2060bd26af33e835fbb1c0d4ce4727a410feb18424e7552d31a88f7c1792635a40c17b4d5e67cf6bf76381a99c8e4f4821fd630849ceaa5a63511ef82f24c6b48182f69abccf9e64011fb0299b9f565d0a22be06f1c54f6108fe3af05fed8e690305ee35799f3b5414980d2999c16486da6d740441b2996e545872e0c17f1dd2060bdd6af33e75343b88c729960580da7b02dffee18d2d88eb0ce2c184a23ca40c17bbd5e67ce96877118e532c0b01b4f605bffdc31a5b11d619c58309447948182f77abccf9d25d007bc97cba98bb36b23377f1e45cb0cfee8f8806142cf390305ef05799f3a34613503fcfd7b42e3a2a8ee7da26e15c4c1f7b0d0c29fde82060bde1af33e7451838f92c7611eb14411b45c7aaabeab34481521718559fd140c17bc45e67ce893071f258ec23d62882368b8f5557d5668902a42e30ab3fa28182f788bccf9d1260e3e4b1d847ac51046d171eaaafaacd1205485c61567f450305ef11799f3a244dda221086f1db59d5a056354bbd7d94d04cecb5c2aea28b060bde23f33e744727c69ccde446396b7806d4628dd923244cdc3568855ee9170c17bc48e67ce88d4f8d399bc88c72d6f00da8c51bb2464899b86ad10abdd22e182f7891ccf9d11a2b2ccbe4677b6865ace179822dc2b48bdfb3319f157d485d305ef12499f3a233565997c8cef6d0cb59c2f3045b856917bf66633e2afa90ba60bde24933e7446638c5883e7450244e804c0e00ad68fa2a2b0f227955f6c575c17bc49367ce88cb718b107ce8a0489d00981c015ad1f454561e44f2abed8aeb82f78926cf9d11966f2879a6a7a313f1cdf65ffaac0210a3587ee5e257dcb9d805ef124e9f3a232b6a634bfa25a8aa9b68b2e7ed4e6249415d4027c1afbb17b10bde249e3e74465560d8f0a121b3d7ee9e2bf7d29322ba7d66c2ab805f77d36317bc493d7ce88ca94dc439ef19ca3295091e179d1ca39cf579c7b2fdbef14ac72f78927bf9d11951279acc8b09f6e7e1df0257322fa561e59fd1c1f87de4398f5ef124f8f3a232a14f35991613edcfc3be04ae645f4ac3cb3fa383f0fbc8731ebde249f1e74465422a7d8ad8fe3e223f48cf84c0b4f3af912b8963def7928a3e7bc493e4ce88ca8354fb15b1fc7c447e919f098169e75f225712c7bdef25147cf78927c99d11950636088410cf5b0bb4f0043afaca2ce63f5a67eb78de4bccfaef124f943a232a0b6c1108219eb61769e00875f59459cc7eb4cfd6f1bc9799f5de249f2874465416643468f013ceb18b8cd713e31f11c0f815e209e07930d7ecbc493e51e88ca82b547b2a8cfdffe5cee6744fbe3481a9ead8066fbdf26353da78927ca4d11950553508adc6d2624e5599aec7745f617bd05c4f3b78e4c84bb5f124f94aa232a0a96a115b8da4c49cab335d8ee8bec2f7a0b89e76f1c990976be249f2954465415260350fc81febbc0e338145c973e4173c1d7f49e09322d2d8c493e52b88ca82a34c7c783d1639fad433c8b38ade265672e740efbe264749b28927ca5811950545250b492702d6786034578f0db2aad4e07ac43b794c903766124f94b1232a0a894a16924e05acf0c068af1e1b6555a9c0f58876f299206ecc249f296246541512203f7d48e1bc64389e24642ec1097b7c975349e232428199493e52c58ca82a23407efa91c378c8713c48c85d8212f6f92ea693c464850332927ca58b195054460d104dd05d54139a4557b8b2fa8415ed098f8385c90baa6624f94b1732a0a88b1a209ba0baa827348aaf7165f5082bda131f070b921754cc49f2962e654151163441374175504e69155ee2cbea1057b4263e0e17242ea99893e52c5cca82a22c68826e82eaa09cd22abdc597d420af684c7c1c2e485d533127ca58b9950544585d1735b2aba3bc5c2241b3279e9f86cb453a945990bc4a634f94b1742a0a88af4640c4122da9fb7011498e47339d359136b784b0217a38c79f2962e95415115d1893e0d131b67997ef5944865d98931d19b1655d42f615903e52c5d3a82a22b93127c1a2636cf32fdeb2890cbb31263a3362caba85ec2b207ca58ba750544572624f8344c6d9e65fbd65121976624c7466c595750bd85640f94b174ea0a88ae450b15f3664164f7747904c2ae322c0e379cd86e717b25082f2962e9e415115c72d7517199e8f21a65be6c04dbca3a9c19fdd69cb2f664506e52c5d3d82a22b8d5aea2e333d1e434cb7cd809b794753833fbad3965ecc8a0dca58ba7b0544571a41e6b513509f09513c61292ee8eccf012bb80329bd9ab81c94b174f70a88ae330fdfc2d377a0955a45887a55c837c5fd03b262507b37143a2962e9ef15115c651fbf85a6ef412ab48b10f4ab906f8bfa0764c4a0f66e287452c5d3de2a22b8ca3f7f0b4dde8255691621e95720df17f40ec98941ecdc50e8a58ba7bc544571940b106f4893672d89f909faa6381c57e2c9d56e80d9ba45d24b174f79a88ae3271620de9126ce5b13f213f54c7038afc593aadd01b3748ba4962e9ef35115c64e2c41bd224d9cb627e427ea98e0715f8b2755ba0366e917492c5d3de6a22b8c9c58837a449b396c4fc84fd531c0e2bf164eab7406cdd22e9258ba7bcd445719383d194d360cd55b575d65d25b7823a6274999440a9ba60125b174f79b88ae326f0644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd0c89e631e01a72cd0f23995dcd4ae8927ee9c8246e9b4c98c5d3de7022b8c9ba1913cc63c034e59a1e4732bb9a95d124fdd39048dd3699318ba7bce045719374322798c78069cb343c8e6577352ba249fba72091ba6d3263174f79c08ae326e8644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd054b0bbcad809af88beffbdd4cb0cb1229adede43e9b66d8d5d3de7032b8c9b9f3573d0428675e1c94ac5a3a18c778a3fe2001884d36e7f1bba7bce075719373d6ae7a0850cebc392958b474318ef147fc4003109a6dcfe3774f79c0eae326e7a61e199b6f03a09dcf7dcb67e283c50fa3442be104dbba06fe9ef381e5c64dcf34fd58c1ab6d69671bc7f94f446d6c9ef14c7d81d9b78e4e0d3de703db8c9b9e52bbd70e2440faf9b45c551e0840bbbd8d5d20c3836f36dc2a7bce07c719373c9577ae1c4881f5f368b8aa3c1081777b1aba418706de6db854f79c0f8e326e7923b081c35e6a14124e3db6f7a068d175e038a8cdddbcf5b0b9ef381f2c64dcf2302229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a088a44628e94140651f41bb00de15adacd5dd6e2de816860f79c0f9a326e7914111488c51d28280ca3e837601bc2b5b59abbadc5bd02d0c1ef381f3464dcf2282229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a014b69ed5bfa3c31cec07e2f8d473d5a7821fca2ae8182a1079c0f9a426e7913f296d3dab7f478639d80fc5f1a8e7ab4f043f9455d0305420f381f3484dcf227e52da7b56fe8f0c73b01f8be351cf569e087f28aba060a841e703e6909b9e44fc31c74f5ad3809b9f2d053fbe99fcd536bd40ad5440c2f484ce07cd22373c89f7638e9eb5a701373e5a0a7f7d33f9aa6d7a815aa88185e9099c0f9a446e7913ee532f96182464f13480db26f25e517cd5a145114e030d7614381f3489dcf227db327184dd1f2c6520ce7c75dcb30121a5eecc7e99061c9029703e6914b9e44fb564e309ba3e58ca419cf8ebb96602434bdd98fd320c392052e07cd22973c89f6a55d86c215314173b06b7ff6ac262ae92677456611873e4a6c0f9a453e7913ed337c330ef7c8ab12dda3626cd7b23851f7b2b08bf30e96d4e81f348a8cf227da56f8661def915625bb46c4d9af6470a3ef656117e61d2da9d03e691519e44fb4a6b1f1c6ac88d476f359ec32de2ec3c7898ee7ef9c3a7593b07cd22a43c89f69362509182677d11963803ae53bc36a0ebde1f59f0875056770f9a45497913ed2550b37bb1a55ca5e43ccd849f6ecb69d268810fde0ea250ef1f348a93f227da492d795010211bce8046613136d3f4fb9f7d447bb91d4645df3e691528e44fb4915af2a02042379d008cc2626da7e9f73efa88f7723a8c8bbe7cd22a51c89f692241f798ed5ad1bcb8e64aecd346321678a1544ae1751abb7df9a454a4913ed24310018a878c05fc29995c019e82c254ebeeeaf1bfea371afcf348a94a227da4852003150f180bf85332b8033d0584a9d7ddd5e37fd46e35f9e691529444fb490a40062a1e3017f0a66570067a0b0953afbbabc6ffa8dc6bf3cd22a52889f692140c1eace93692640497a634ec0c70cf5a2399e9fc51ba7be89a454a5213ed2427183d59d26d24c8092f4c69d818e19eb44733d3f8a374f7d1348a94a427da484e307ab3a4da4990125e98d3b031c33d688e67a7f146e9efa2691529484fb4909c60f56749b4932024bd31a76063867ad11ccf4fe28dd3df44d22a52909f6921384dfd27403f88c301472976b8bd6b1d9ce5e0fbc21ba9628aa454a5223ed2426f280ca72d557408ba5b19156971346334780453813754691648a94a457da484dd50194e5aaae81174b6322ad2e268c668f008a7026ea8d22c9152948afb4909ba2c44f5622c32a5a1392a7d9dbb2fb4cc8c53aa01dd53485a22a52916f69213735889eac458654b427254fb3b765f699918a75403baa690b4454a522ded2426e63d262e35872d193cb1701e6ee31cfb2cdd910404754ec5698a94a45cda484dcb065eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b950cbd6a2fc9796a625f4cc9ab79303ca8cec8c80bd53e5da82a5291756921372a197ad45f92f2d4c4be999356f26079519d919017aa7cbb5054a522ead2426e5432f5a8bf25e5a9897d3326ade4c0f2a33b23202f54f976a0a94a45d5a484dca865eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b95057e8fba96df928ddc192c2af8961f28798cedcba53e77e83a52917579213729f3be44fffb254d4734febad5709220d09dde01571a7d0a1084a522eb02426e53d03daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca7907b5f1587618573cd93b054c1144841cd0050dc09f45cc232948bac2909b94f20f6be2b0ec30ae79b2760a9822890839a00a1b813e8b984652917585213729e41ed7c561d8615cf364ec153045121073401437027d17308ca522eb0a426e53c83daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca79007716e3437e7f68560767cb90aa669c7ac933806f45e6633948bac2a09b94f1f0ee2dc686fcfed0ac0ecf972154cd38f5926700de8bccc672917585413729e3e1dc5b8d0df9fda1581d9f2e42a99a71eb24ce01bd17998ce522eb0a826e53c7c3b8b71a1bf3fb42b03b3e5c855334e3d6499c037a2f3319ca45d61504dca78f803293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0ca4efc15387ac3750b7ce22831311d5d5d771b117a01ce922eb0a866e53c7bc1949df82a70f586ea16f9c45062623ababaee3622f4039d245d6150cdca78f783293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0566154c20edd462cd8430a20278f455809b9770e7a0372932eb0a867e53c7bbf38d50230f41d0f117d4c3c38457cb2aabfb54a19f40889275d6150d0ca78f77d71aa0461e83a1e22fa9878708af965557f6a9433e811124ebac2a1a194f1eefa6f666170a6d6befdc1f718d90c50f2a5ab178464d023c89e7585434429e3ddf36adf1b8e241000b350b459aa0f000d46027164c6a049353deb0a868953c7bbe561d08fc91e82841e6e2edb4c145e4286b125258a40940e7cd6150d13a78f77c94fb3783f13678af4a923de901f1aad080e8ca7118129c0faac2a1a284f1eef912b79492afd3198a11f0de5183493820ac95baa20025525f6585434519e3ddf2156f29255fa6331423e1bca306927041592b7544004aa4becb0a868a33c7bbe4239f77d58cb28e53c48fdbc58c8ac3025d1b1047d09563bda6150d14778f77c830001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe41400035c18f06fcfab2189d1aebd33a814fccdebde5540ddc8551d147f8f87c827fff6b831e0df9f564313a35d7a675029f99bd7bcaa81bb90aa3a28ff1f0f904fffe631894c8ca4d4b1a4131d744e063672e2739f14d3773b948451fe3e2f209fffb5243823e6afd18ec4f29d681b724f656fab63e976ee916918a3fc7c6e413fff530995d29ac5cb4906b19d4fb64a814a8a1aed92bddd3d124147f8f8ec827ffe96132ba5358b96920d633a9f6c9502951435db257bba7a24828ff1f1d904fffd24e77cd5387d554f9792d7be588fe7a9d32fdc0ac7750e89151fe3e3c209fffa32901f353e60d2caabf211fc3085b1d35123ddd55eea37523a3fc7c79413fff455203e6a7cc1a59557e423f8610b63a6a247bbaabdd46ea4747f8f8f2827ffe8a301a25fc6e973562c94aa70417ca9ccef539d154ba8f788f8ff1f1e604fffd1360344bf8dd2e6ac592954e082f95399dea73a2a9751ef11f1fe3e3cc09fffa264c7af09e90bf5842f1f0c40855889b368129a14fea3f863f3fc7c79913fff44b250839e9f7e1333db0a7b008a16f5e67ae959e9cd480b07f7f8f8f3327ffe8954a1073d3efc2667b614f601142debccf5d2b3d39a90160feff1f1e664fffd12a20334054b5e74fae8f64e81a7c1ba1996698d670520465fefe3e3ccd9fffa253406680a96bce9f5d1ec9d034f8374332cd31ace0a408cbfdfc7c799b3fff44a60cdf59ffadffc1720a59c861e6ccae6046a5b5be48133bfcf8f8f3377ffe894b19beb3ff5bff82e414b390c3cd995cc08d4b6b7c902677f9f1f1e66efffd1296337d67feb7ff05c8296721879b32b9811a96d6f9204ceff3e3e3ccddfffa252c66facffd6ffe0b9052ce430f36657302352dadf24099dfe7c7c799bbfff44a585a07f8a7b65e99d87262ae1663290dff169db7e1813563d08f8f3378ffe894af402249fc431fb668b18b8424bcb043f8d97dcbc0026c6ba21f1e66f2ffd1295d0c56eca55ca1ef892fdd30416fbeafec5f3df37d04da7b453e3ccde6ffa252b918add94ab943df125fba6082df7d5fd8be7be6fa09b4f68a7c799bcdff44a572315bb2957287be24bf74c105befabfb17cf7cdf41369ed14f8f3379bfe894ae462b7652ae50f7c497ee9820b7df57f62f9ef9be826d3da29f1e66f37fd1295c851812302a0817b4aca992c0ef24926c0a02193cd4da95854e3ccde70fa252b8f2f149eb21765794d61f88015daf0757bec8583979b5454aac799bce2f44a571d5e293d642ecaf29ac3f1002bb5e0eaf7d90b072f36a8a9558f3379c5e894ae3a4864d37533f867ed54a8284f621ffdea5e586a5b6d52f6ac1e66f38cd1295c731cdbff973e53529276167896ba9e23cf68f330b3daa791593ccde71aa252b8e539b7ff2e7ca6a524ec2cf12d753c479ed1e66167b54f22b2799bce3544a571ca736ffe5cf94d4a49d859e25aea788f3da3ccc2cf6a9e4564f3379c6a894ae39472f25566c8fd174b7d79ecadcb4f4675f3dbe19bd53e2ecae66f38d61295c72771f7037a685cb14ec7ba01538cfcb4e693fa1f34aa7e0196ccde71ad252b8e4d70005fa1a71be5555c3a2a9f105791c7d4369a6654fda72e99bce35b4a571c996c1317f0249a4d62853a7d36170d4b8a54af90c9a9fcf25e3379c6b794ae39316438888d1f971d7cd73b22642478bf0f55a17d9053fb88bd66f38d70295c7261548369c71590bdb17b3c6cc03f4fa6195785571da7f8b57bcde71ae152b8e4c135192c3b0183fe1ac33f017874fd742d5b4d0a384ff30ef89bce35c3a571c9816a3258760307fc35867e02f0e9fae85ab69a14709fe61df1379c6b874ae3930260770998dc727b22d9c22dd9ca53f8b0197684de3fcddfe36f38d70f95c726034d006bde8f4778fd804a83ab8b06195adf2f65b97f9d63c7de71ae202b8e4c0526133069f4f174b2cd5b2f4f0c6a5ab06aa1276fff3c6b90bce35c41571c98094c2660d3e9e2e9659ab65e9e18d4b560d5424edffe78d72179c6b882ae393012245f1a54aa2855830232e534280792bc56c6f9bcfcf35243f38d71065c72602348be34a95450ab060465ca68500f2578ad8df379f9e6a487e71ae20cb8e4c0461d8ec1ff7f03d8c3d591bcc8967c72ec075e42f0f3ceed10ce35c41a71c9808b3b1d83fefe07b187ab2379912cf8e5d80ebc85e1e79dda219c6b8834e3930116024d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c0456093582ab49c7971c8c346c69413fceab26ed9f033cf56110e35c41ab1c9808ac126b0556938f2e391868d8d2827f9d564ddb3e0679eac221c6b883563930115824d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c045601f6a836172dbf480900cee8c0a5b12ad1b1c4c30cf57b50f35c41ab2c9808abf3ed506c2e5b7e9012019dd1814b6255a363898619eaf6a1e6b8835659301157e09bc6632a1d254ba0cf9e2281fca72af18b38cc03d60783dd7106acc26022afb1378cc6543a4a97419f3c4503f94e55e316719807ac0f07bae20d5984c0455f626f198ca874952e833e788a07f29cabc62ce3300f581e0f75c41ab309808abec4de331950e92a5d067cf1140fe539578c59c6601eb03c1eeb8835661301157d827d8bbd6f387ce589c644a79f30552ec377b2800d60927de7106acc36022afaf4fb177ade70f9cb138c894f3e60aa5d86ef65001ac124fbce20d5986c0455f5e2b754808a481bc1a3e5751dfc27373ab8a2efc005826437ac41ab30e808abebb56ea9011490378347caea3bf84e6e757145df800b04c86f58835661d01157d7639e778cf68697320c6236f77002bf6a8d4fe4bfe609ab1ec106acc3b022afaeb73cef19ed0d2e6418c46deee0057ed51a9fc97fcc13563d820d598760455f5d673b03bea78084f3ae553e5d3f70e029e003b8bf6826c6bb141ab30ed08abebab7372d081c673212d976df39fe47a2d36acb973ea04da7b63835661db1157d75572f7f9b06348c512fba20f37bf52826805b543d109b69ac806acc3b722afaea972024c0d9cf40cddc40a466775032ccab7ace39f136ed9910d59876f455f5d517016f0c8104a9c7354dab4c6e06481901b9c233b26df57231ab30edf8abebaa16c403a3cf6f7bb9e767b9185b7272b1ae37aa2734dc0524735661dc0157d75416492cd26c451f9f4b9bd4b0364ac7e307337a0e39b82488f6acc3b812afaea815537f2fa5f0676a14040bdfebfb7245b92b19dc43706351fd598770355f5d50136823ea1946f6ffa4d47a3f575cc70b1d1a597856e0e0e40ab30ee07abebaa016d047d4328dedff49a8f47eaeb98e163a34b2f0adc1c1c815661dc0f57d75402661b5333282042a101e4b7cdcd8feac1f2d8ba12b839dd03acc3b81fafaea8035848ff1326a307f9d08f9793917dfd7e91f3d02270755e08598770405f5d50053ca456d323a892ab6de5571f195a22f7d029fc41e0ec6011b30ee081bebaa009055b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110ab60ca63b67501d5121ac6c5224dbd4992ca90183b4c848cc3b8208faea8022156c194c76cea03aa24358d8a449b7a9325952030769909198770411f5d500442ad83298ed9d40754486b1b148936f5264b2a4060ed3212330ee0823ebaa008855b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110377323108cd7848cdee0eebd18abe5443f0cec153b4e288dc3b82090aea8021f6ee6462119af0919bdc1dd7a3157ca887e19d82a769c511b877041215d50043e69dee4ef09c094eb4849e2ec590dbd0ba8760c51ed3a46380ee08243baa0087b5fd0228ae9e3ac8e5d59edd0a879a211fd2e74a0da7630711dc10488754010f54bb29dc2aa29dbd4877a039947516c1ea69f453eb4ee04e33b820911ea8021e9237794322ab63a60dbba2f2a85010037f980e67a69ddadc777041224d50043d146ef2864556c74c1b7745e550a02006ff301ccf4d3bb5b8eee082449aa0087a219f0a975813b6c3b3baee4a20a6228da9245f5e6a7785b1edc10489454010f4333e152eb0276d876775dc94414c451b5248bebcd4ef0b63db8209128a8021e8667c2a5d604edb0eceebb92882988a36a4917d79a9de16c7b7041225150043d0c5b97a458e03de491aa3d4d08496f6ecf3e720b323bc47cf7e08244a3a0087a174341a15e96de4bdb2140c208893d059929267261778a9df0c10489484010f42d12959b6a041f1a6e0f47ac0908d8332cfe8f40bfef16dfe2820912918021e859252b36d4083e34dc1e8f581211b06659fd1e817fde2dbfc5041225230043d0b24a566da8107c69b83d1eb0242360ccb3fa3d02ffbc5b7f8a08244a460087a16420bf33fcf75b5628470388403d1fc162a0bc61fc78b8a3151048948d010f42c7417e67f9eeb6ac508e0710807a3f82c54178c3f8f171462a2091291a021e858e0f0f28a0b3cfdb58e8d448f8eadd2d852f33e3eee2e4305541225235043d0b1b1e1e5141679fb6b1d1a891f1d5ba5b0a5e67c7ddc5c860aa8244a46a087a16363c3ca282cf3f6d63a35123e3ab74b614bccf8fbb8b90c155048948d410f42c6c048b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d709173b64e9c2bafe26d0df7e9a8f28484bc2f6e82e464d561225235243d0b1ae122e76c9d38575fc4da1befd351e50909785edd05c8c9aac244a46a487a1635c245ced93a70aebf89b437dfa6a3ca1212f0bdba0b919355848948d490f42c6b848b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d701d860efb728e329a39d41fe19f50ac7f6871ca7fe4667962225235253d0b1adf3b0c1df6e51c653473a83fc33ea158fed0e394ffc8ccf2c444a46a4a7a1635be022a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f608aa526a826d3482d05a9df9ce8367e1382617f2466e262625235257d0b1adec1154a4d504da6905a0b53bf39d06cfc2704c2fe48cdc4c4c4a46a4afa1635bd822a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f6016b77f54fd35cae4d2700794de94a60e2ea3db2166e406635235257e0b1adebf2d6efea9fa6b95c9a4e00f29bd294c1c5d47b642cdc80cc6a46a4afc1635bd7e5addfd53f4d72b9349c01e537a529838ba8f6c859b90198d48d495f82c6b7afc41ce5354c010d9de6046649eeb03586c216135083721d71b91a92bf158d6f5f70faeff56568436748d52f135cc64d8d2ef04c60d6e455238235257e3b1adebed1f5dfeacad086ce91aa5e26b98c9b1a5de098c1adc8aa47046a4afc7635bd7da3ebbfd595a10d9d2354bc4d73193634bbc131835b91548e08d495f8ec6b7afb4098a535f8a84365c375db1a65984ee9224688c68722c35c21a92bf1e8d6f5f671314a6bf15086cb86ebb634cb309dd2448d118d0e4586b8435257e3d1adebece26294d7e2a10d970dd76c6996613ba4891a231a1c8b0d7086a4afc7a35bd7d9c4c529afc5421b2e1baed8d32cc277491234463439161ae10d495f8f46b7afb3824b78ea57ea5e87b42a1425d8ead111cf2cb228422c50022a92bf1e9d6f5f66f496f1d4afd4bd0f6854284bb1d5a2239e5964508458a00455257e3d3adebecde1ef09342d0fa24a4d74b316e31126c6e776ee60d8b15a48ba4afc7a85bd7d9bb3de12685a1f44949ae9662dc6224d8dceeddcc1b162b4917495f8f50b7afb37607d4a5b81a4b154b29f2edb0baa7d9b489fdf4332c58362f92bf1ea26f5f66eb0fa94b7034962a9653e5db61754fb36913fbe86658b06c5f257e3d44debecdd61f5296e0692c552ca7cbb6c2ea9f66d227f7d0ccb160d8be4afc7a89bd7d9bac3ea52dc0d258aa594f976d85d53ecda44fefa19962c1b17c95f8f5137afb3758095cb42e7b13d76a6bf50303a0dbc3434c219f2fc58506fa2bf1ea27f5f66eaf12b9685cf627aed4d7ea060741b7868698433e5f8b0a0df457e3d44febecdd5e2572d0b9ec4f5da9afd40c0e836f0d0d30867cbf16141be8afc7a89fd7d9babc4ae5a173d89ebb535fa8181d06de1a1a610cf97e2c2837d15f8f513fafb3757821dd9b94879ff95e8c165832041a5c2f6e5c4ef9585213a3bf1ea2805f66eaef43bb37290f3ff2bd182cb0640834b85edcb89df2b0a427477e3d4500becdd5de1388c6fef4e26831fd1f88c006c798b865b397e26149f28ffc7a8a027d9babbb27118dfde9c4d063fa3f11800d8f3170cb672fc4c293e51ff8f51404fb3757764e231bfbd389a0c7f47e23001b1e62e196ce5f898527ca3ff1ea2809f66eaeec285890a47d75c447b5c26df82c9aedbdd9df1b100a513880e3d45014ecdd5dd750b12148faeb888f6b84dbf05935db7bb3be362014a27101c7a8a029d9babbae2d749b3ecc3993d6a3cfdfd8a8c9def213bec83d294686048f514054b375775b5ae9367d987327ad479fbfb15193bde4277d907a528d0c091ea280a966eaeeb641e4c5a80748d2125c05a75a9985a3c2fb3d7cf1a51bbc133d450153cdd5dd6b0fdbe3fce4f426dc84d176ad29696f80a2bd55e04a391c277a8a02a89babbad51fb7c7f9c9e84db909a2ed5a52d2df01457aabc09472384ef5140551375775aa3f6f8ff393d09b721345dab4a5a5be028af5578128e4709dea280aa26eaeeb540af17893fe03b99bf351dd6141a9a3ffc22d0aff51ca853cd4501545dd5dd6a715e2f127fc077337e6a3bac2835347ff845a15fea3950a79a8a02a8bbabbad4e2bc5e24ff80ee66fcd47758506a68fff08b42bfd472a14f35140551775775a9c578bc49ff01dccdf9a8eeb0a0d4d1ffe116857fa8e5429e6a280aa2eeaeeb5383b29e1ecb69e1c7701e3fe0c10f867f6cf130bf21ca9f7ce4501545ed5dd6a6f02661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba099872190e7aee9742389040613bdfa129a1cf84e5564e76280aa2faaeeb53741330e4321cf5dd2e84712080c277bf4253439f09caac9cec501545f55dd6a6e82661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba025997a3dbe116c2bf04f2bfe0a1c220d465f544b55668b6380aa2fabeeb5373f4b32f47b7c22d857e09e57fc1438441a8cbea896aacd16c701545f57dd6a6e7e227841a3cea833678e02d7f01eceb02fc5bfad2a559bd18f02a8beb0bad4dcfb44f083479d5066cf1c05afe03d9d605f8b7f5a54ab37a31e05517d6175a9b9f615f35f3c1103505604d187b87198e8b9c34110a65670ea3d0aa2fac3eb5373eb2be6be782206a0ac09a30f70e331d1738682214cace1d47a1545f587d6a6e7d657cd7cf0440d415813461ee1c663a2e70d04429959c3a8f42a8beb0fad4dcfac3bad528d5e7d0567f35265bb83256dc8c64ae12fb388f5e95517d6205a9b9f57036cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a0db3f71e4d72361ecdabcdbbf2a40e30e36079719c4e3f4ea8beb106d4dcfab41b67ee3c9ae46c3d9b579b77e5481c61c6c0f2e3389c7e9d517d620da9b9f56836cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a06751ca91ad85e4a4a78303b7209f0b08e249f316c4e598eb8beb106e4dcfab3f5ab5edd0316e4c011bcc2f66379c3e0c70d6422a89ccd5d817d620dd9b9f567d417e344d393f1aba045e86c46596a4138deee052139b4fb12fac41bc373eacf90f0ec14748e0b82bd5833580c18b7021c8201ca1273843635f5883796e7d59f11e1d828e91c17057ab066b018316e043904039424e7086c6beb106f2dcfab3e23c3b051d2382e0af560cd603062dc087208072849ce10d8d7d620de5b9f567c4048862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf870910c5ce3ad0882cf1bfa7fc05735211da86820c73877e37f5883798e7d59f0e12218b9c75a11059e37f4ff80ae6a423b50d0418e70efc6feb106f31cfab3e1c24431738eb4220b3c6fe9ff015cd48476a1a0831ce1df8dfd620de639f567c3848862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf8701d1eb590836b0586e8c0a7b84d93491854aa7cc4387987805883798f7d59f0df3a3d6b2106d60b0dd1814f709b269230a954f98870f30f00b106f31efab3e1be008d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd808d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd8019414790e4fb5627958d0124a1aa83f9989169dee7c3a6630de63ef667c37aff32828f21c9f6ac4f2b1a0249435507f33122d3bdcf874cc61bcc7deccf86f5fe65051e4393ed589e5634049286aa0fe66245a77b9f0e998c3798fbd99f0debfc561c9533fe3d33f4792e311d03b247c770cdaaf43e1ed7196f31f7b43e1bd7f7384b8314d2dceaa0bf228a31fdc2b7898dddb1e57c3f5233de63ef697c37afed70970629a5b9d5417e451463fb856f131bbb63caf87ea467bcc7ded2f86f5fda6d40650021d62d3ac95050bfed690620e3b92392f0feecd0798fbda6f0debfb3669322ad1a0edd2d5f66c977d130343c73b4a322e1ff7da1f31f7b4ee1bd7f6559389e070a803d128b93bae798be907393aba242c4009f44e63ef69ec37afec93e8394baeb62fcdce3ed9dc727db48e1d399a0828802e28acc7ded3e86f5fd9109198222ad287c7194a163864614b9be53759d021007691698fbda7e0debfb21123304455a50f8e32942c70c8c29737ca6eb3a04200ed22d31f7b4fc1bd7f6422466088ab4a1f1c652858e191852e6f94dd67408401da45a63ef69f837afec8448cc11156943e38ca50b1c3230a5cdf29bace810803b48b4c7ded3f06f5fd9081daa7ad7a8ea49d116dc605c57a9c3dfe39c2c1e0078356a8fbda7e1debfb20f3b54f5af51d493a22db8c0b8af5387bfc738583c00f06ad51f7b4fc3bd7f641e02bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd90760af1102de82ea7f0a0dea5a55414dde8eacc31d40789e6acfbda7e21ebfb20ec15e2205bd05d4fe141bd4b4aa829bbd1d59863a80f13cd59f7b4fc43d7f641d82bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd907603b235b8b594d01c1dab0824d37ac06895905793d78a00ed0bda7e21fbfb20ebf02590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa09643f0e23f218ee089cb24996d8d435793539dfc5070689ed3f1101fd9075f412c87e1c47e431dc113964932db1a86af26a73bf8a0e0d13da7e2203fb20ebe82590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa02256498f1584119856914c9163eb6b523f95f9f950720c9fd3f11020d9075f3f44ac931e2b082330ad229922c7d6d6a47f2bf3f2a0e4193fa7e22041b20ebe7e156b7ee92c72c919270b5a3d860bd543aa9a43e241c9d6804fc44084641d7cfb2ad6fdd258e592324e16b47b0c17aa87553487c48393ad009f888108c83af9f655adfba4b1cb24649c2d68f6182f550eaa690f8907275a013f1102119075f3ec376e4ff639f8cb810520f9e426bcd21801147b0f0e5058037e22042420ebe7d76edc9fec73f197020a41f3c84d79a4300228f61e1ca0b006fc44084841d7cfae69cb9885be45b0bbe14a0f889151705ab09448393943040ef888109183af9f5b5fa989b852ede42f8f5a4709190108b00d6aec6f7287ac1ef1102124075f3eb54b656c1d7c3e4b16eb7ab60a2860395ac71834dbe510fc3ee22042490ebe7d6922dd30e7cedf18e5a3bb940c471e9ab03a72c5b4ca239c7ec44084931d7cfad145ba61cf9dbe31cb477728188e3d356074e58b69944738fd888109263af9f5a217871c4c11dee64e5bb4782912d892bb960d72d0289015fc1102124d75f3eb432f0e389823bdcc9cb768f05225b125772c1ae5a051202bf82204249aebe7d6865e1c7130477b99396ed1e0a44b624aee5835cb40a24057f044084935d7cfad0c484b3b0d6559b52aaa69e9408d22bdd75cadf27e448253e18810926caf9f5a171ca8cec7a115ed0d2199fa7910a3a3a9659e40f989064bc4102124da5f3eb42d39519d8f422bda1a4333f4f221474752cb3c81f3120c9788204249b4be7d685a72a33b1e8457b4348667e9e4428e8ea5967903e624192f10408493697cfad0b47158cee9df11eb20d995fbc07b7b4545d93463c948340221810926d3f9f5a1676ec3f680948658f97ff21f78ed54b2865eab238f9069a84402124da8f3eb42cd699a45adff6f34aaccaa66e9d1078d076998a31c20d4f48904249b52e7d685995f46e408d540ec0d661af5cb986d42097f73a23541ab8d13084936a6cfad0b314aa020be80e45ad298fc138f2738ac0dab29a0678358be2710926d4e9f5a166121529a29d82b385cfebe4f1644cf801602959ccc06b3204f2124da9e3eb42cc142a53453b05670b9fd7c9e2c899f002c052b39980d66409e4249b53c7d685982115cc154370f642bc7bf6451099c2852b698cf2d1ace253d84936a79fad0b30322b982a86e1ec8578f7ec8a2133850a56d319e5a359c4a7b0926d4f3f5a1660645730550dc3d90af1efd91442670a14ada633cb46b3894f6124da9e7eb42cc0c16f8634e8edda4160ac14a80433f6a906108d565d672cded249b53d0d68598172df0c69d1dbb482c15829500867ed520c211aacbace59bda4936a7a1ad0b302e5be18d3a3b7690582b052a010cfdaa418423559759cb37b4926d4f435a16605c43d573214d4fa36822d07bfa10597c7db489072bb398136a24da9e87b42cc0b713bd3eef7101c98812671fec171120f615546a546731cad549b53d106859816d277a7ddee203931024ce3fd82e2241ec2aa8d4a8ce6395aa936a7a20d0b302da4ef4fbbdc4072620499c7fb05c4483d85551a9519cc72b5526d4f441a16605b429fc50285e70cef85fff2758aee72fab56e5aea0398ffaab4da9e88442cc0b6753f8a050bce19df0bffe4eb15dce5f56adcb5d40731ff5569b53d108859816ce3403994e5025be994cc2c55ab1fae6a807d9167de6418eae36a7a2120b302d9b6807329ca04b7d3299858ab563f5cd500fb22cfbcc831d5c6d4f442416605b365c20bde616f97d1cffd13d62be49c29acba6b5f49907deb9da9e88492cc0b66b4453d47904557cf1cc68a2bd72f1ad30438fc7e632116174b53d109359816cd514ba019edf0d7c9b65976d72dc41825b3361ebc9642466ea6a7a2127b302d9a92974033dbe1af936cb2edae5b88304b666c3d792c848cdd4d4f4424f6605b35252e8067b7c35f26d965db5cb7106096ccd87af2590919ba9a9e8849ecc0b66a431e265a3cece6792f981938ed86a3ad44751ba482124db5453d1093e9816cd4763c4cb479d9ccf25f303271db0d475a88ea374904249b6a8a7a2127d302d9a8e539bef3c119c2103b2cc76335807134bc989451d849511524f4424fb605b351b334a3724f99ac4bf325f145ea66c4e923f54e638092bc6a59e8849f7c0b66a3566946e49f335897e64be28bd4cd89d247ea9cc7012578d4b3d1093ef816cd46a593b3540bccd95b496427972900f6243a995f4dd24b0be977a2127e002d9a8d33e88c32e4ffdae20f94b1add167cec81ff6e45b74963212ff4424fc105b351a50923df09765ddef9bf5c5db2235800feab1ee76b92c7e660e8849f830b66a3491247be12ecbbbdf37eb8bb6446b001fd563dced7258fccc1d1093f0616cd4692248f7c25d9777be6fd7176c88d6003faac7b9dae4b1f9983a2127e0c2d9a8d24491ef84bb2eef7cdfae2ed911ac007f558f73b5c963f33074424fc185b351a481e5049443c407253c28c031a2bde37e55e30d2b62c800a0f8849f831b66a348f3ca092887880e4a78518063457bc6fcabc61a56c5900141f1093f0636cd4691e05537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b0aa6fb7b8ec8980dadec68c14bae0f204a0b4dab6403987e424fc18fb351a476154df6f71d91301b5bd8d182975c1e4094169b56c80730fc849f831f66a348ec2a9bedee3b226036b7b1a3052eb83c81282d36ad900e61f9093f063ecd4691d85537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b036821065c2ec0392ab8cb40cb13f19ff4cf736b3403b2be524fc18fc351a475f6d0420cb85d8072557196819627e33fe99ee6d66807657ca49f831f86a348ebe661a9a43e21291027af8f82abb5a8ff7e01f36ca00ee539593f063f1d4691d7b58478d349a87a4bcc2b8184d6d1347ea6c80c99101de4b2c27e0c7e4a8d23af53ca173160b71cc3152365892d084b7cf8543ef1f03be3a594fc18fca51a475e905553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd10aaa7db1da8c3634e265b23b2ecf2f336d9474760efc31673f063f2b4691d7a21554fb63b5186c69c4cb64765d9e5e66db28e8ec1df862ce7e0c7e568d23af442aa9f6c76a30d8d38996c8ecbb3cbccdb651d1d83bf0c59cfc18fcad1a475e885553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd1036ba33ca7f25e605f3214baae3511b318589a35defc4ba74f063f2b5691d7a1f6d746794fe4bcc0be6429755c6a236630b1346bbdf8974e9e0c7e56ad23af43e66fb27d6d2fa1acf994b56a383a294c0c268e974bf148dd4c18fcad6a475e87b5a08a85a7c56b856ff5cd53efda3517c31142ee67e2abfaa831f95ae48ebd0f54023a961cf0ff365cb7fd275f1a4caf30e6ab9c9fc572356063f2b5d91d7a1e90c59ab707482698363c5cce3d9a7bde0c917cf90f8afeaad0c7e56bc23af43d118b356e0e904d306c78b99c7b34f7bc1922f9f21f15fd55a18fcad78475e87a23166adc1d209a60d8f17338f669ef783245f3e43e2bfaab431f95af08ebd0f4462cd5b83a4134c1b1e2e671ecd3def0648be7c87c57f556863f2b5e11d7a1e8851ad0fb41e891aee0922f63590da06073dbf550c8b004ed1c7e56bc33af43d0f2f6c78151374b893df0c14631812340927c10616160241a48fcad78775e87a1d5ed8f02a26e97127be1828c6302468124f820c2c2c0483491f95af0eebd0f43a49c439012435650748f6798456a6f81f4b467455580aaa933f2b5e1ed7a1e8731f9acaaf1ecd4cc65eb31b00a3ac183942cf44a7b016f9277e56bc3eaf43d0e53f35955e3d9a998cbd66360147583072859e894f602df24efcad787d5e87a1ca0a7d83695197b5d1479293fa850e88dfb77f6e9bc05d889ef95af0fbbd0f439314fb06d2a32f6ba28f2527f50a1d11bf6efedd3780bb113df2b5e1f77a1e872629f60da5465ed7451e4a4fea143a237eddfdba6f0176227be56bc3eef43d0e4c53ec1b4a8cbdae8a3c949fd4287446fdbbfb74de02ec44f7cad787dde87a1c9833ea8f41efdddfcc45ef67a04746b5f6243945b905da2df095af0fbcd0f4392f67d51e83dfbbbf988bdecf408e8d6bec48728b720bb45be12b5e1f79a1e8725e5bbc95b495da01e8e483c6791378ffd33d2772e1176a5bc356bc3ef443d0e4bb438b84160216868995cdb4ea1d5027a1269141bf2ed65b87ad787de987a1c975132960d8da8f8fcaf86191cc30fe773cf964df7b5dae5b105af0fbd40f4392e92652c1b1b51f1f95f0c3239861fcee79f2c9bef6bb5cb620b5e1f7a81e8725d24ca583636a3e3f2be1864730c3f9dcf3e5937ded76b96c416bc3ef503d0e4ba4255d5f73aadf010f8fd2b6597e51e1e2776957d7ed747c83d787dea17a1c97474ababee755be021f1fa56cb2fca3c3c4eed2afafdae8f907af0fbd42f4392e8e2187d67b81de86f60c11015defa5af8489e7bb5cb5d396105e1f7a86e8725d1b430facf703bd0dec182202bbdf4b5f0913cf76b96ba72c20bc3ef50dd0e4ba361231b29adddc9e8ffd0a2d6fb4f4e60cd3e1496fd74ffc42787dea1ca1c9746b24636535bbb93d1ffa145adf69e9cc19a7c292dfae9ff884f0fbd4394392e8d648c6ca6b77727a3ff428b5bed3d398334f8525bf5d3ff109e1f7a8728725d1ac1d9fed83c5477737b51793759e0558614b4ca77bba818614c3ef50e60e4ba3573b3fdb078a8eee6f6a2f26eb3c0ab0c296994ef775030c2987dea1cc1c9746ae02920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60a483aefae017e5a8491d739b9ce25ff65d3e7afa81ef1503ef50e64e4ba356c149075df5c02fcb50923ae73739c4bfecba7cf5f503de2a07dea1cc9c9746ad82920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60309607a7b67a686015e39b93934087f10980d6f781f0b904ef50e64f4ba356bf612c0f4f6cf4d0c02bc7372726810fe21301adef03e17209dea1cc9e9746ad7e4e6a774bb04c243824549646436047bed245b7db07c48814bd43993e2e8d5afb28e7474436facb28156f54847d1eb77850cdcbb30f8ab42a7a87327d5d1ab5f551ce8e886df596502adea908fa3d6ef0a19b97661f156854f50e64faba356bea2faf75bdb24daf5822837a09ead905dbef798ac93e2c74aaea1cc9f6746ad7d35f5eeb7b649b5eb04506f413d5b20bb7def315927c58e955d43993ece8d5afa64ad02fa39f99401856d4101fa1c23f6a6a288721f8b376aca87327dad1ab5f4b21b2b7f4159502e87a6e483739e2a6cf80936a40f168915a50e64fb6a356be9543656fe82b2a05d0f4dc906e73c54d9f0126d481e2d122b4a1cc9f6d46ad7d2a12dd387d2cb68e59b67f48d4dde8c338ae900500c5a3e96a43993edb8d5afa5325ba70fa596d1cb36cfe91a9bbd186715d200a018b47d2d487327db71ab5f4a64b74e1f4b2da3966d9fd235377a30ce2ba401403168fa5a90e64fb6e356be94c22fc1c963c16f58580c06e9ee5a441c020c284032d20ef531cc9f6dd6ad7d29745f8392c782deb0b0180dd3dcb488380418508065a41dea63993edbad5afa52e1802cb05c6be58cdcfc7e2738cef2efb2f4c6c09b485614d7327db76ab5f4a5b3005960b8d7cb19b9f8fc4e719de5df65e98d813690ac29ae64fb6ed56be94b6600b2c171af963373f1f89ce33bcbbecbd31b026d2158535cc9f6ddaad7d296c4c28b0db0c5549264b053b945dd79fd426a5bc4aa42cae6c993edbb65afa52d72463ba62ef0d150462d09f20b20d67a2f98dd492485b00da327db76db5f4a5ad48c774c5de1a2a08c5a13e41641acf45f31ba92490b601b464fb6edb6be94b5a1da142389296d6c95808a47abe93c6869279ae46216da769c9f6ddb7d7d296b33b428471252dad92b01148f57d278d0d24f35c8c42db4ed393edbb6fafa52d660297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b5960a5d863c82f77774b3a2e78bc2b50853d8a4545616e106a09f6ddb817d296b2c14bb0c7905eeeee96745cf17856a10a7b148a8ac2dc20d413edbb702fa52d658297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b596031eabc7505d9fa0306f4a0b421aead383687a15e6e120e0af6ddb818d296b2bf63d578ea0bb3f4060de94168435d5a706d0f42bcdc241c15edbb7031a52d657e53bd4a80edca6ac3e898aac87d18dcdb8660e176b849dc2cdb76e0644a5acafb338cedaeb1f7583f9df77d88f08fe1b1b9041eea70955c5ab6edc0c994b595f56719db5d63eeb07f3beefb11e11fc36372083dd4e12ab8b56ddb8193296b2bea5a460f679e3fe3b644a41e1bb89daec19052d7a6c257156bdbb7032752d657d3409e777c12e24a24560e642f6799857dcce80b4a84afced8b76e064fa5acafa50d4f47a4fc27170078e2f056c59132f646127292096141b26edc0ca04b595f491a9e8f49f84e2e00f1c5e0ad8b2265ec8c24e52412c28364ddb8194096b2be92353d1e93f09c5c01e38bc15b1644cbd91849ca48258506c9bb7032812d657d246a7a3d27e138b803c71782b62c8997b2309394904b0a0d9376e065025acafa486106d2fc98d3f2bf5af52d644f71575f0d69851d9615bf27edc0ca05b595f48f4e1ffea6080a683682b082c09540d6b8c71566382c2d2250db81940c6b2be91d285255f8e6775324d2272d7920dfd56c3a6d286d585be8a2b7032819d657d23950a4abf1cceea649a44e5af241bfaad874da50dab0b7d1456e065033acafa4722d5bb090703fcf4b1562dddc79dd7dab95f6fdb26171468bdc0ca068595f48e35ab76120e07f9e962ac5bbb8f3bafb572bedfb64c2e28d17b81940d0b2be91c641811aee9761bfe422519f69ddd41ea9041e52c685c6be30703281a2657d238b0f148e8a05260280116966cbb206654cb47f018a0b8f2061e0650345cafa47151e291d140a4c050022d2cd97640cca9968fe0314171e40c3c0ca068b95f48e2a3c523a2814980a0045a59b2ec8199532d1fc06282e3c818781940d172be91c5404b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7096d99f9ff252d70b022bcab0d22a4c0a074d09ab8f54e200650345eafa4714e12db33f3fe4a5ae1604579561a45498140e9a13571ea9c400ca068bd5f48e29c25b667e7fc94b5c2c08af2ac348a930281d3426ae3d538801940d17abe91c5384b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7022ebf84cc8b559c2cef1f2a8c8887404b38f65a88f568601650345ebfa4714df45d7f099916ab3859de3e5519110e809671ecb511ead0c02ca068bd7f48e29be17c239dff937e9c3088df29b187ff80d7a7ff29f3d5bbc06940d17b0e91c537b2f8473bff26fd386111be53630fff01af4ffe53e7ab7780d281a2f61d238a6f65f08e77fe4dfa70c2237ca6c61ffe035e9ffca7cf56ef01a50345ec3a4714dec4a2427aca021d0d01135bcd0ba5de8668041f0f6eadf8435a068bd8848e29bd7205aa80616a62457ef31a1996b19f8c7acc63dead5c0ac6c40d17b1191c537ad40b5500c2d4c48afde634332d633f18f598c7bd5ab8158d881a2f623238a6f5a0d7cf8c530fb1417898cae5da2c60b195f5b53a8570455b20345ec474714deb31af9f18a61f6282f13195cbb458c1632beb6a750ae08ab64068bd88e8e29bd6635f3e314c3ec505e2632b9768b182c657d6d4ea15c1156c80d17b11d1c537acc6be7c62987d8a0bc4c6572ed163058cafada9d42b822ad901a2f623a38a6f59863e1e4ffe613c43065910dd222bed990a1f796827046ff21345ec475714deb2f53d622aca28a0b1897e8439c3bdbdb1bf0318901e08fa24368bd88ebe29bd65d33be9e061b7698e8fc96af306e15de328ca56e00c120e887d17b11d8c537acb9677d3c0c36ed31d1f92d5e60dc2bbc65194adc018241d10fa2f623b18a6f59725b0cd0c5443ce65bbf20e4b9aeb5a0c4ded814000485462045ec476414deb2e3422bfa375edc4f6f4b07f16b53c9698469f283fd090c30418bd88ec929bd65c5106a4d1b941b219662d60ace9df0fb03802763f7121a048417b11d93537acb8920d49a372836432cc5ac159d3be1f607004ec7ee243409082f623b26a6f5971241a9346e506c86598b582b3a77c3ec0e009d8fdc486812105ec4764d4deb2e240f64c189773b8f6ae3767e6ce5e60016ad7d7bb590d1c821bd88ec9b9bd65c471ec98312ee771ed5c6ecfcd9cbcc002d5afaf76b21a390437b11d93737acb88e3d930625dcee3dab8dd9f9b39798005ab5f5eed643472086f623b26e6f59711c073864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370e70c9f1207dfc1dd0f436be4b1c5160305c73530d1fca1dd88ec9bbbd65c46e1ce193e240fbf83ba1e86d7c9638a2c060b8e6a61a3f943bb11d93777acb88dc39c327c481f7f07743d0daf92c714580c171cd4c347f2877623b26eef59711b873864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370731ef7bede424494dc0993dca8233dfdb209912dd1fe45de88ec9bbcd65c46df7250482a92e70be184d94fb146a4a3f610557e58a3fe2fbe11d9377aacb88dbd70b2e901fc309a7ad678c75a83a76fe6cced58ae47fe037d23b26ef659711b796d782ab0cec3b7ad79b7b6acfdad07c8461d0d598ffdaafb4764ddedb2e236f16702ae0e73e9f212c0359551f1b8378b387c76b01ffcf9f78ec9bbdc65c46de15a17b4c9be3666dd4d31529bd9ce97111d3b495d3ffb97f01d9377b9cb88dbc14041c24052cf50726728cd2fa9fb561ce6b8eeb77ff8d3e13b26ef749711b7810c95dd2d7c01239c9b17c2574a54d43479b4396bfff34bc3764ddeea2e236f01192bba5af8024739362f84ae94a9a868f36872d7ffe69786ec9bbdd45c46de02325774b5f0048e726c5f095d295350d1e6d0e5afffcd2f0dd9377ba8b88dbc0464aee96be0091ce4d8be12ba52a6a1a3cda1cb5fff9a5e1bb26ef751711b780855702b849674bc817e424d6c9bab6b424785f2bcff36603864ddeea3e236f00f36f2afb6034bfbbac94ac2d12db4fe7f3b4e4176fe6e6471c9bbdd48c46de01d6de55f6c0697f775929585a25b69fcfe769c82edfcdcc8e39377ba9188dbc03a67dd1784e39271a2f1f1333cad3221f7997b61d8f9bb35c826ef752411b780735bcc87b69d8765fdb0a88e7150c26be9df391faef3780f914ddeea49236f00e543ab681a11714eb32e1744da97e2ffce6ab49b5ae6f1c3239bbdd49346de01c9136928e0f945201e28f4b1ad2624279781ab92b2cde52a48377ba9278dbc039126d251c1f28a403c51e9635a4c484f2f035725659bca54906ef7524f1b7807224da4a383e5148078a3d2c6b498909e5e06ae4acb3794a920ddeea49e36f00e44275b9fb4a08b83a9146bb561277f64b6b99ef1936f2af642bbdd493d6de01c874eb73f694117075228d76ac24efec96d733de326de55ec8577ba927adbc0390e2980d77f5890915c1e74fd7c945bbad592be224abcad7d0bef7524f6b780721b5301aefeb12122b83ce9faf928b775ab257c4495795afa17deea49ed6f00e4363215b6aa38a4c828469a1dea47cd1350f73ae527f2b79830bdd493dbde01c86b642b6d54714990508d343bd48f9a26a1ee75ca4fe56f30617ba927b7bc0390d654693355b8f5a358e72e9fa11592753e892df09ccae004c3f7524f70780721ab34e4bf58484dc9699b23673a21831277be9e3d3695c1ad88eea49ee1f00e435569c97eb0909b92d33646ce74430624ef7d3c7a6d2b835b11dd493dc3e01c86aa5fa5560df799a85e3953c4e07c6a71d9a6bb50d757085a24ba927b88c0390d534b5d04c8c595d3743f6db1b8ef330badf9b8fdabae12584a7524f71280721aa522cc623e618e29a04ba18b69d4c43f569fb457545c265495ea49ee2600e435494598c47cc31c5340974316d3a9887ead3f68aea8b84ca92bd493dc4c01c86a921743e1a65c9b2938fb4c559f496f25552b13b94e709af658a927b8990390d5232e87c34cb9365271f698ab3e92de4aaa5627729ce135ecb1524f71320721aa465d0f8699726ca4e3ed31567d25bc9554ac4ee539c26bd962a49ee2640e43548c463165dfbb3bcc7fa728d4f241d752a404e0267084d956c6493dc4c91c86a9171875246c4cda1bb71b17d1dc7a0ccd42b602a8de09b4518d927b8993390d522d30ea48d899b4376e362fa3b8f4199a856c0551bc1368a31b24f71326721aa45a61d491b133686edc6c5f4771e833350ad80aa37826d1463649ee264ce43548b44fbb7c0f3d336070a584b6dbc6c492105c57a2ed4da4306d93dc4c9ac86a91672b8950cb50c9439917cf95af83e74c1b64f1a1d79b4a04dc27b8993690d522cd5712a196a19287322f9f2b5f07ce9836c9e343af369409b84f71326d21aa459a3a379bda1987911c2c047eb605fb58684008e35b6d29b7719ee264db43548b33008190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32808190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32800da2b9b6480772dc9beb8bfa4b36f32700650fd75514883ec4c9b787a91664ff1b45736c900ee5b937d717f4966de64e00ca1faeaa29107d89936f0f522cc9fe368ae6d9201dcb726fae2fe92cdbcc9c01943f5d545220fb1326de1ea45993fc6d15cdb2403b96e4df5c5fd259b7993803287ebaa8a441f6264dbc3d48b327f8663df41156d9b0818b7ee79ca9cd5a6ab2935972514a27ed4c9b787b91664fef588e40cf8415e3bae3c3f73149f8dcd011690ee1a295f3db9936f0f822cc9fdd3d2eda4bde8e4a2d944e165a8a4fe19acf1479c0452d8bb8326de1f145993fb906700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f710ce01a8926fe2e25eac4a95a15fbd66094d69efb14b976e2c9b787c71664fee219c035124dfc5c4bd58952b42bf7acc129ad3df62972edc5936f0f8e2cc9fdc433806a249bf8b897ab12a56857ef5982535a7bec52e5db8b26de1f1c5993fb886700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f7105a14013f464565167910bd99561b8e03f9ac4bae4b99122d9b787c72664fee1f403a5b2b62ed4ce4bee7a32aa29544029f9af3599733c85c36f0f8e5cc9fdc3d0c870f039c3d1c814a956e4d3b88afffeb7842b02e6934b96de1f1cc993fb879190e1e07387a3902952adc9a77115fffd6f085605cd26972dbc3e399327f70f2321c3c0e70f472052a55b934ee22bfffade10ac0b9a4d2e5b787c73264fee1e46438781ce1e8e40a54ab7269dc457fff5bc215817349a5cb6f0f8e64c9fdc3c8548348e69a344acc761d0ccbaee927f963c686ffe694ef97de1f1cca93fb878f3518ea7a0acb1850b900418f543077ed73cf69fccd2b8330bc3e399627f70f1d6a31d4f4159630a17200831ea860efdae79ed3f99a570661787c732c4fee1e3a60760295018ee3fab0c72e35472007b07b8003f034afb0c3f0f8e6599fdc3c734cfe5dd6d9804aad2e548462849e375ba34263dd69610588e1f1ccb43fb878e5260f145a89631812296f30bcff9a96b1f2c723b7d2c3af12c3e399697f70f1c94c1e28b512c6302452de6179ff352d63e58e476fa5875e2587c732d2fee1e392244eaa16fbeee3007282eaebf4c882c2775eeadc4b10604c0f8e65a6fdc3c723489d542df7ddc600e505d5d7e9910584eebdd5b89620c0981f1ccb4dfb878e461d4d0108c61e0eb996d1d3a7c980330489be076e2c4325313e39969cf70f1c8b3a9a02118c3c1d732da3a74f93006609137c0edc58864a627c732d39ee1e391601465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac0a32e67f76d5ecf1406bb4b8e2f7a06699d3cdad8871c62fc732d3a6e1e391581465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac02f40c0a443c151cbd381738625d82e64497f36d5871e06fd732d3a6f1e39157f5e8181488782a397a702e70c4bb05cc892fe6dab0e3c0dfae65a74de3c722afe49155b3de567c9e71acbf6108dbee18bd23f37531c79bff6ccb4e9bd78e455fb1e3d0f28a1321686025e141911dbeb1250c0caa338f523ee9969d37bf1c8abf53c7a1e5142642d0c04bc283223b7d624a181954671ea47dd32d3a6f7e39157ea0506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd30a0d2a9eb655b99fac7cf0b87b9ba887de8b0d13c7ac6776cb4e9be18e455fa6141a553d6cab733f58f9e170f737510fbd161a278f58ceed969d37c31c8abf4c2834aa7ad956e67eb1f3c2e1ee6ea21f7a2c344f1eb19ddb2d3a6f8639157e98506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd302ce502983bbe1cb29495337fb018b07894f32d397ac81b6db4e9be19e455fa5f59ca0530777c3965292a66ff603160f129e65a72f59036db69d37c33c8abf4be3fa6630dc55af5821f1af5f6b6c0e9dd000f10e2eb2211b7d3a6f8689157e97b0b5f1ec861186dbc0afc13e563dffbb4ac607dc2d645c770a74df0d222afd2f516be3d90c230db7815f827cac7bff76958c0fb85ac8b8ee14e9be1a4455fa5ea2d7c7b218461b6f02bf04f958f7feed2b181f70b59171dc29d37c3488abf4bd45af8f64308c36de057e09f2b1effdda56303ee16b22e3b853a6f8691157e97a842044532e7e95e787c87664e345de345724a382a645e1b0b74df0d232afd2f4f101ae312a6353fa8c5d4f4945f19ee8590d6cc51c8bdda17e9be1a4755fa5e9d2035c6254c6a7f518ba9e928be33dd0b21ad98a3917bb42fd37c348eabf4bd3a406b8c4a98d4fea31753d2517c67ba16435b314722f7685fa6f8691d57e97a740ce97142080c7ffdfb6dcc9aef2d9c2732f8be8b45f074c04df0d23bafd2f4e719d2e2841018fffbf6db9935de5b384e65f17d168be0e9809be1a4775fa5e9ce33a5c5082031fff7edb7326bbcb6709ccbe2fa2d17c1d30137c348eebf4bd39c674b8a104063ffefdb6e64d7796ce13997c5f45a2f83a6026f8691dd7e97a7385aa96ccd572a829783a2f1a6e937ea6ddbce44b15f08f005df0d23bbfd2f4e6f4165324784b787e6d40c0b45c8cdfcd663dee55fbe13840cbe1a4778fa5e9cdd0edcbd3bdfd1928574de3e8387fa21a7740026bc7c28ac1a7c348ef2f4bd39b91db97a77bfa3250ae9bc7d070ff4434ee8004d78f8515834f8691de5e97a73723b72f4ef7f464a15d378fa0e1fe8869dd0009af1f0a2b069f0d23bcbd2f4e6e402f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e0be10a2f53bc5b8dcee07050d8bcd4d9310e4783851c13538691de6297a7371c17c2145ea778b71b9dc0e0a1b179a9b2621c8f070a3826a70d23bcc52f4e6e382f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e04a22fba212283b94bacd2d05822b758dbd26d43551c2d939691de62a7a7371bf20584ff0fab2f9e142608202fab5131626900467a3875673d23bcc55f4e6e37d40b09fe1f565f3c284c10405f56a262c4d2008cf470eace7a47798abe9cdc6fa0d739870c12e6a3cd6483003e132745346826d9b8e1efdd048ef3158d39b8df31ae730e1825cd479ac906007c264e8a68d04db371c3dfba091de62b1a7371be635ce61c304b9a8f35920c00f84c9d14d1a09b66e387bf74123bcc5634e6e37cc6b9cc386097351e6b241801f0993a29a34136cdc70f7ee8247798ac69cdc6f98634bdfb8e94926853149283609856d2f146935b5e1f181058ef3158e39b8df2f52aa181ea8f4cfc22f58786409690258d514c768c3e4a60c1de62b1d7371be5d316688ea284c223c2b7718c009302cac566beace87caf0193bcc563be6e37cb962cd11d45098447856ee318012605958acd7d59d0f95e0327798ac77cdc6f97251ac7c5577930ba87aa28af81b1edaac05f207371f2d6465ef3158f09b8df2e32f6b5157c5889a08c20b3de82c9bdd52b8266a6b3e5c6cccde62b1e2371be5c55ed6a2af8b11341184167bd05937baa5704cd4d67cb8d999bcc563c46e37cb8a49bf9e0bec84eadad4f31f98a8cd9d458cdc05a9f9735734798ac789dc6f97131f9194c4af6c586d76ac672947f96285c5fa6750f2e85269f3158f14b8df2e253f2329895ed8b0daed58ce528ff2c50b8bf4cea1e5d0a4d3e62b1e2971be5c4a0a58abbf9413e46da777c49d1643b211c42bf940cba2eda8cc563c53e37cb89314b1577f2827c8db4eef893a2c8764238857f2819745db5198ac78a7c6f971262962aefe504f91b69ddf1274590ec84710afe5032e8bb6a33158f14f8df2e24c52c55dfca09f236d3bbe24e8b21d908e215fca065d176d4662b1e29f1be5c498319d14a617a0c992444271c95a994916ef01f009ba307e8dc563c53f37cb892f633a294c2f4193248884e392b532922dde03e0137460fd1b8ac78a7e6f97125e5286ab4534e5a900ddcfef1d60c34c56684a1c23e8c39e38158f14fddf2e24bb311faf37402dd4b988660632b7e4c0a77cd69444d188e0712b1e29fcbe5c4975623f5e6e805ba97310cc0c656fc9814ef9ad2889a311c0e2563c53f97cb892ea50911589d719d59dee5e40c2d5f12a989f9cad10462525c5ac78a7f3f97125d32d3483c084962df3a982a97da2407d2beb7bb61d8c4bef8c58f14fe8f2e24ba55a690781092c5be7530552fb4480fa57d6f76c3b1897df18b1e29fd1e5c4974a40e467aee8bb3a8672d0cdee7f601caa5a3134733131623263c53fa4cb892e930ddb280aa7d8f7c4b267c3d4f51e614f60a4c4e362646865c78a7f4a97125d251bb650154fb1ef8964cf87a9ea3cc29ec14989c6c4c8d0cb8f14fe952e24ba4a376ca02a9f63df12c99f0f53d479853d8293138d8991a1971e29fd2a5c4974946ed940553ec7be25933e1ea7a8f30a7b0526271b1323432e3c53fa54b892e92869c4d95753f1ff02f342654748443cf0b68eaa3326482a5d78a7f4aa7125d24f5f9c0b5b7e4680bdb34af28686e6a1dc195fb0634c91f8bbf14fe955e24ba49d4b4a6f63d2ef8433335c0d05042b6bb2df01bcc399259578e29fd2acc497493922a737747c418b1e337e4201feb4ff606a45d584324ccef2c53fa55a892e9271454e6ee8f883163c66fc8403fd69fec0d48bab0864999de58a7f4ab5125d24e216af367ec768af309abf2ffff132257c5559b20dc934dfcc14fe956b24ba49c32d5e6cfd8ed15e61357e5fffe2644af8aab3641b9269bf9829fd2ad6497493865abcd9fb1da2bcc26afcbfffc4c895f15566c83724d37f3053fa55ac92e9270c418c0ca311a7fc3ca2bfa7f77fef53dd570fec6b49a8a261a7f4ab5a25d24e170f2a71f2f9b27b31124577e6f63ccfb55a6234d39352e8c44fe956b54ba49c2d1e54e3e5f364f662248aefcdec799f6ab4c469a726a5d1889fd2ad6a9749385a3ca9c7cbe6c9ecc44915df9bd8f33ed56988d34e4d4ba3113fa55ad52e9270b40565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e1670acbd08947ecb880bde3ce5f50894b4afea805333531d446fe956b56ba49c2ce1597a1128fd971017bc79cbea1129695fd500a666a63a88dfd2ad6ad7493859c2b2f42251fb2e202f78f397d42252d2bfaa014ccd4c7511bfa55ad5ae9270b38565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e167038cf6141552e0ac3ab030decfef2dcaa96c2af30531ee870e956b56ca49c2cdf719ec282aa5c158756061bd9fde5b9552d855e60a63dd0e1d2ad6ad9493859be6f4fddb22b1aadc678d25fabf2299aa5074d18be4c7d45c4a55ad5b39270b37b6ab214112c97de44be6ae74fdab15d44badc8d7998fc2f8a4ab5ab6824e166f5617680cf2f923f41499bf697abc0e28421fb76f031fa0315956b56d149c2cde94eff5a4b3587013a5ffe15274ddfed02f03949dd63f5aa2c2ad6ada393859bd12a110d434170852c8cc25246921e02008cb4efb7c7ecf85955ad5b48270b37a154221a8682e10a591984a48d243c04011969df6f8fd9f0b2ab5ab6904e166f4234568db9dc249769ffcf71123ed62ffcdf161adc1fb5856656b56d219c2cde8368ad1b73b8492ed3ff9ee2247dac5ff9be2c35b83f6b0accad6ada433859bd065d6c8f9446f4e05fcc03ec40f1b6e7ee289ac76d7ed7b99a5ad5b48770b37a0b46eb77d5644c437764ce0079d9cbf7d6fd77ead7fdb11735b5ab690fe166f41519e948579efb09a6966228eba9f617a8a73231acfb63d26c6b56d220c2cde82933d290af3df6134d2cc451d753ec2f514e646359f6c7a4d8d6ada441859bd05267a5215e7bec269a5988a3aea7d85ea29cc8c6b3ed8f49b1ad5b48830b37a0a45b5c9b69ce3acfec7fd76f55460ee53fe5d3e964db2037645ab69107166f414742cb8f8072d82290cc7506a2827bf27a77ea2ec6b64212c9b56d220f2cde828d11a977adbc12c7d965b0353cfb560cef9c16b98a6c85c9946ada441f59bd05192352ef5b78258fb2cb606a79f6ac19df382d7314d90b9328d5b4883eb37a0a3246a5deb6f04b1f6596c0d4f3ed5833be705ae629b2172651ab69107d66f41464195e161ab6f8c182fa47d1dfd10e8f778cf82850642ff0a456d220fbcde828c732bc2c356df18305f48fa3bfa21d1eef19f050a0c85fe148ada441f79bd0518e6578586adbe3060be91f477f443a3dde33e0a14190bfc2915b4883ef37a0a31c570309828e288ecf9f04b6f67ed2a3b714039e8021812923b69107df6f4146373a186bb1f2b3a0570acf95e4f4036f68d44998fd4303f6486d220fbfde828c6d00433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d90012727a2469e94e7c976dabb4c06bc0a4575e4b091322c7b5883f017b0a31b1ff24e4f448d3d29cf92edb576980d78148aebc961226458f6b107e02f6146363fe49c9e891a7a539f25db6aed301af02915d792c244c8b1ed620fc05ec28c6c7fc1fa629d025acf69c8833859df9bc2d1d6734b4459917e1ad41f80bd9518d8ff73f4c53a04b59ed3910670b3bf3785a3ace69688b322fc35a83f017b2a31b1fee0aaaffed6d165d29ed943e6fdd4edc7049152d1364612ab607e02f6646363fdb1555ffdada2cba53db287cdfba9db8e0922a5a26c8c2556c0fc05ecc8c6c7fb62aabffb5b45974a7b650f9bf753b71c12454b44d9184aad81f80bd9918d8ff6c5557ff6b68b2e94f6ca1f37eea76e38248a9689b230955b03f017b3231b1fed836c25783a7c85556a60a0ef5cb4beeff3d952d3346144f617e02f6656363fdaf6d84af074f90aaad4c141deb9697ddfe7b2a5a668c289ec2fc05eccac6c7fb5e671bb6bb7583d81264ee63cf238de3f7a29710ca1852e186f80bd9968d8ff6bb5a49c623c16a32dc96a2ef963d79efe9f1707d9130a7670ef017b32e1b1fed7540a5e4f45936e870fa0c0724715207ce8f23571f6150721ee02f665d363fdae90d5e229588d05399c0de3640d9023797ca890a3bc2a2883ec05eccbb6c7fb5d11abc452b11a0a73381bc6c81b2046f2f951214778545107d80bd9976d8ff6ba235788a5623414e670378d9036408de5f2a2428ef0a8a20fb017b32edb1fed7446af114ac46829cce06f1b206c811bcbe544851de151441f602f665db63fdae8861f482056367bc53daa98c058681a17754d2ffb92a2a27ed05eccbb7c7fb5d0f4ffb5cb79d31fb5f8219400303616ae955e85b6f5455f3db0bd997708ff6ba1d2c09121c10c67976d0f8a7fdfd20fdcd581312dba8ad8bb717b32ee21fed743958122438218cf2eda1f14ffbfa41fb9ab02625b7515b176e2f665dc43fdae8723c36a11d197c689310a8c7efeae21f300c8ea76ba2b7d2dd5eccbb897fb5d0e3047f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c508ff35ce12b6a7bbdc2f6faf9844ccb58abf55a88ae293777b32ee27fed7438a11fe6b9c256d4f77b85edf5f3089996b157eab5115c526eef665dc4ffdae871423fcd7384ada9eef70bdbebe611332d62afd56a22b8a4dddeccbb89ffb5d0e2847f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c501c05b58e01ccfe758fbd22f17aaaf3535837b685ae2adb78b32ee280ed74389f380b6b1c0399fceb1f7a45e2f555e6a6b06f6d0b5c55b6f1665dc501dae8713e7016d6380733f9d63ef48bc5eaabcd4d60deda16b8ab6de2ccbb8a03b5d0e27c6c40051ce4ca76644aaf3f83cbb5c2956e00102a71587fc6997714086ba1c4f7649262e69ff76f806224a6ff8dc9ad2588427c51e2b2a38e32ee2811d74389ed55371e7a165161b8910f75f711f18245bcc754a0c566eb1d65dc5024ae8713d9368095a103054628eee513e61a412c8625d1053e8acf7a3bcbb8a04a5d0e27b16d012b42060a8c51ddca27cc3482590c4ba20a7d159ef47797714094ba1c4f626614af30e2779b5b885a77905f62da13438670f72b3f8cf02ee2812a74389ec3583bb70e9b51b96edd7b1718b523dc21334f3deb5680bde15dc50255e8713d853c89c6ca0d05f59587bc562960a5e03d12e0d7d3ad031fc3bb8a04acd0e27b090525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f6110a4bcc81e0dcdbc5b87da8956f53d0e9a4081748b40fc710ee2812b54389ec2214979903c1b9b78b70fb512adea7a1d348102e91681f8e21dc50256a8713d844292f320783736f16e1f6a255bd4f43a690205d22d03f1c43b8a04ad50e27b088525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f611030cf20cae4303f1354a0b14eeb9b3694ecc3d08840fe150fe2812b55389ec21f619e4195c8607e26a941629dd7366d29d987a11081fc2a1fc50256aa713d843e4f4edbd867237f051f48ed33a4cb024e5f519e1e03f9f8408a04ad55e27b087b2ab0105da4a980c20b58025f3ff42c976ae5983907f5948214095aacc4f610f5556020bb4953018416b004be7fe8592ed5cb30720feb29042812b55989ec21ea36d29a23690885bffa263174f62eda5857d8bce11fd7f60950256ab413d843d36da53446d2110b7ff44c62e9ec5db4b0afb179c23fafec12a04ad56827b087a6675cc13a7a8499b7b55eedcbcf19915c0ba54f817f617c264095aad14f610f4b5acbdb21cb6bb6273784038f94914ab2c38cfafffec49c4d812b55a39ec21e9541aa0ef06d39ef063bce2f171f80bd60335c51fcfd8adc9c0256ab483d843d290f66768db0d660c444628626355fa2bb12fafff6fb175d3904ad56917b087a511ecced1b61acc18888c50c4c6abf457625f5ffedf62eba72095aad22f610f4a23d99da36c3598311118a1898d57e8aec4bebffdbec5d74e412b55a45ec21e94407460d1a5d1588d9efda5929a15b3dd3441a5bb4d8bc8dc9256ab48cd843d2870e8c1a34ba2b11b3dfb4b25342b67ba68834b769b1791b924ad56919b087a50e1d18346974562367bf6964a6856cf74d10696ed362f2372495aad233610f4a1c3a3068d2e8ac46cf7ed2c94d0ad9ee9a20d2dda6c5e46e492b55a466c21e943800732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f007266fdfc4c83304ca43b4c101a6885d67c70f1149502caae56919d097a50ddff70e054a56f68e351153cc0182b2f33a7a5243e262a07395dad233a13f4a1bbfd6dd301f7b5344959f73fa8284cbc8f49f68ad849541016bc5a467428e94377f967b85c9c40cb156bbb4578488fd7468e99580c8fa821d179b48ce852d286eff15b8311e557f8ad8f43511889160cb517def2751c504546f46919d0a6a50ddfe143187c778653ddd65368590a2277922a6a274635a08c31e9d233a14e4a1bbfc11243519be30a3e647396da0c3b4d4c4f8090e868411a07d4a467429d94377f812486a337c6147cc8e72db418769a989f0121d0d082340fa948ce853b286eff02490d466f8c28f991ce5b6830ed35313e0243a1a104681f52919d0a7650ddfe041e2ce58beeb475db697cf859d0c88a76b0c99f3f08d1e2a6233a14eda1bbfc073c59cb17dd68ebb6d2f9f0b3a19114ed61933e7e11a3c54c467429db4377f80e04c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b098bddb92268b44ae57412be7300a3aaded1b1f246925d3319d0a76f0ddfe0361317bb7244d16895cae8257ce6014755bda363e48d24ba6633a14ede1bbfc06c262f76e489a2d12b95d04af9cc028eab7b46c7c91a4974cc67429dbc377f80d84c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b024d0343efcedc766240753df266862a8995d7b21692777329d0a76f1ddfe035f49a0687df9db8ecc480ea7be4cd0c55132baf642d24eee653a14ede3bbfc06be1f5329a8ca19a0505ce377748fffb29d11b84882a49f80cb7429dbc877f80d7b3ea65351943340a0b9c6eee91fff653a23709105493f0196e853b790eff01af6095eff4ffec903f9405405ca365cf26ef3237e07927fa72ed0a76f22dfe035eb12bdfe9ffd9207f280a80b946cb9e4dde646fc0f24ff4e5da14ede45bfc06bd6257bfd3ffb240fe501501728d973c9bbcc8df81e49fe9cbb429dbc8b7f80d7ac4af7fa7ff6481fca02a02e51b2e79377991bf03c93fd3976853b7916ff01af5822024dacc2f2c24bd206849b5c2d4ee9de7a3c7627fc16ee0a76f22efe035eaf44049b5985e58497a40d0936b85a9dd3bcf478ec4ff82ddc14ede45dfc06bd5e141b8f5fe22d8be714e03a65671363a2262b4dd59ff1ffb929dbc8bcf80d7abb28371ebfc45b17ce29c074cace26c7444c569bab3fe3ff7253b79179f01af576506e3d7f88b62f9c5380e9959c4d8e8898ad37567fc7fee4a76f22f3e035eaec2ceed3abe7cee1f073c7fb232ef9450bdd9ccaa9ff91a1ca4ede45e8c06bd5d759dda757cf9dc3e0e78ff6465df28a17bb399553ff2343949dbc8bd180d7abae3fcda75c759e0a799be61484b2433c2a22b586a4fe482b2a3b7917a401af575b0bada765c19e97ab049251015ae4a04ef1ad6946fc91fa5576f22f49035eaeb5175b4ecb833d2f560924a202b5c9409de35ad28df923f4aaede45e9206bd5d6a2eb69d97067a5eac124944056b92813bc6b5a51bf247e955dbc8bd240d7abad45d6d3b2e0cf4bd582492880ad72502778d6b4a37e48fd2abb7917a481af575a846eccf08f04bfd6815eb380da4a82ce9c718f06cc92149586f22f49135eaeb4f19ebf6beb6fa7d87f89c98133fae81ce3a743cd6924436b1de45e9236bd5d69d33d7ed7d6df4fb0ff13930267f5d039c74e879ad24886d63bc8bd246d7abad3a67afdafadbe9f61fe272604cfeba0738e9d0f35a4910dac77917a48daf575a745b720ea28e366ef791aae891f3d2366c7fe442b19223598ff22f491c5eaeb4e742f675f1f2cf60a6f01bf91bde0294d3ac0ae16024485720e45e9239bd5d69cd11ff4490bc014405acfe1a2fb26351a204581ebd48925242c8bd24747abad39923fe89217802880b59fc345f64c6a34408b03d7a9124a485917a48e8f575a73247fd1242f0051016b3f868bec98d468811607af52249490b22f491d1eaeb4e641c0c7d32b66ca2e534b6f9758978b50acf0351e74494361745e923a4d5d69cc73818fa656cd945ca696df2eb12f16a159e06a3ce89286c2e8bd24749abad398e7031f4cad9b28b94d2dbe5d625e2d42b3c0d479d1250d85d17a48e93575a731c6c76424289c799e1727df3a44223d051245ceb3724a354bb2f491d27aeb4e63764fedd31e9f1b67ab1c20f407aa5c89cf4fc326b49484d775e923a505d69cc6d56101310aa45efad304a4678eba9b934963ac0d392923eefbd2474a1bad398d938327ece2aee62122d5ab4e9cdb19a63d8b7dda4252621e07a48e94475a731b17064fd9c55dcc4245ab569d39b6334c7b16fbb484a4c43c0f491d288eb4e63626cdc53e5821c0b008230fb9f2d24918a0f21d28d949a2b82e923a512d69cc6c365cb0077da9a98b8d1281f3650a74b0eca8601182935fb06d2474a26ad398d8557a8599c8b97b4296f16666497acbe18414e5e2d526d9a0ea48e944e5a731b093b630be5ed91eb0aaaf2f4c125b7a42b2edf1857a4dcd81e491d289db4e6361102d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420b61c1e2c61963348ab045e90735c144280232b126ed50f648e944f1a731b08416c383c58c32c66915608bd20e6b8288500465624ddaa1ec91d289e34e6361082d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420422e76d937f8b60077ca868869ba3c3d2c65870f6ed6b3658e944f1b731b083f106f465f4653eeb8bc5b3508c9d2a075050d6a1bddaf0acc1d289e37e636107d20de8cbe8ca7dd7178b66a1193a540ea0a1ad437bb5e15983a513c6fcc6c20fa41bd197d194fbae2f16cd423274a81d41435a86f76bc2b3074a278df98d841f40f8c8ba70901f87daf9fd03e44f32ba2d4adacdbed79fa61e944f1c031b083e71f19174e1203f0fb5f3fa07c89e65745a95b59b7daf3f4c3d289e380636107ce3e322e9c2407e1f6be7f40f913ccae8b52b6b36fb5e7e987a513c700c6c20f9c0876b5e51e7246a549c4a9ea1df7851151afc2dc6bd177104a278e028d841f3710ed6bca3ce48d4a938953d43bef0a22a35f85b8d7a2ee20944f1c051b083e6e21dad79479c91a952712a7a877de144546bf0b71af45dc41289e380a36107cdc43b5af28f392352a4e254f50efbc288a8d7e16e35e8bb882513c70146c20f9b8137db6febd86ed0c6910c699d5d6790fc73e89c3bd191505a278e029d841f36f26fb6dfd7b0dda18d2218d33abacf21f8e7d13877a322a0b44f1c053b083e6de4df6dbfaf61bb431a4431a675759e43f1cfa270ef464541689e380a76107cdbc280010a2c299eb1b154c5cc6a511f078e636aa1ae8ca4c2e13c7014fc20f9b77500021458533d6362a98b98d4a23e0f1cc6d5435d194985c278e029f841f36ee2c129b37e0ca2f2421f79b128aa5e9de451d0468a32ad4b94f1c0540083e6ddb5825366fc1945e4843ef3625154bd3bc8a3a08d14655a9729e380a80107cdbb63c5cc58c598b3f4854a4944220f5cf73c0b66d9f8cacf6e63c70150120f9b76b04cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50997c78b12f20290ec1ea0f870938dc45b5e6e7832b7239af1c0540683e6ddaa132f8f1625e40521d83d41f0e1271b88b6bcdcf0656e4735e380a80d07cdbb54265f1e2c4bc80a43b07a83e1c24e37116d79b9e0cadc8e6bc701501a0f9b76a84cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50258ed15e0582abc68eb0377eff970440622943802b73ddb01c0540693e6dda9f4b1da2bc0b05578d1d606efdff2e0880c452870056e7bb60380a80d27cdbb53e224d9e24ec6d31d2078705f3f4ba38fc34e769fdadd11ac1701501a5f9b76a7b449b3c49d8da63a40f0e0be7e97471f869ced3fb5ba23582e02a034bf36ed4f61548d140881749ffeae23fc7c9470beb7fe003f3b7460f06c0540698e6dda9eb2a91a281102e93ffd5c47f8f928e17d6ffc007e76e8c1e0d80a80d31cdbb53d655234502205d27ffab88ff1f251c2fadff800fcedd183c1b01501a639b76a7ac3658e2b1171cd2b723d8263640968756ab427b9aba321c3702a034c836ed4f576cb1c5622e39a56e47b04c6c812d0ead5684f7357464386e054069906dda9eae6575e37132d5cd945c26c0d0f8b84555594c4a67e8ca14dd0a80d321dbb53d5b56fe1f8f3c0e1de08513a999e7ceb2a55edaf0ccd195cdbb1501a644b76a7ab53a0e97cb4e7ebe78d6ed7b2bc5fb8d4569f83d96a32d3f772a034c8a6ed4f569002f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a2004a33667a566128a2513f66014b683dfb779f0516708d61511a645777a7ab43ff207925a18324d3fc6f44f3fa8d2ea3f19b806629e11c66a334c8aef04f5687fd40f24b430649a7f8de89e7f51a5d47e33700cc53c238cd4669915de09ead0ffa0df6ef32e2f5d2a989d9f7e22b18b7c11a43f4a484733e8dd322bbc23d5a1ff31bedde65c5eba55313b3efc456316f823487e94908e67d1ba64577847ab43fe637dbbccb8bd74aa62767df88ac62df04690fd29211ccfa374c8aef08f5687fcc6fb7799717ae954c4ecfbf1158c5be08d21fa5242399f46e9915de11ead0ff986b814bdb05bfad506a65a61aa7e9a40c5081a64547358cde322bbc24d5a1ff2f6314f062e1e1dd58a191742d463170134d45a8878e6cbdbd6457784aab43fe5d523c39729a263d690fe9105282c1082146cdad0c1cdb1f7bc8aef0965687fcb9308acb920aaefd89ec98489cfbe0383d39ddb61539b7e2f8915de12dad0ff97161159724155dfb13d9309139f7c0707a73bb6c2a736fc5f122bbc25b5a1ff2e24e3d86f5011e78df7f274a6be5df08ef93b93451e6e12fe3457784b7b43fe5c3288d6696d89f7476cb14bccfc21c39d9d3b4c4a0cdc403c78aef0970687fcb85511acd2db13ee8ed9629799f843873b3a76989419b88078f15de12e0d0ff970a2e47f30838e05492f9191b36fecf0f61fb156e803711b31f2bbc25c2a1ff2e135c8fe61071c0a925f232366dfd9e1ec3f62add006e23663e57784b8543fe5c26453224cdb9e3d503b12a94d3f19a6582989815fddc48707daef0970b87fcb84b1676a2484a2a2cbf2f1b519fd992f2ffdd7287f8b89284fc5de12e180ff970952ced44909454597e5e36a33fb325e5ffbae50ff1712509f8bbc25c301ff2e12a59da892128a8b2fcbc6d467f664bcbff75ca1fe2e24a13f17784b8603fe5c2543fc76aef27b3e8b145a0b4f6c2f5bff997d69bc2c495cbe3ef0970c17fcb84a70ba12e8b25ca541a580791e57c49a7eddbef9382892d3bc8de12e183ff97094d17425d164b94a834b00f23caf8934fdbb7df2705125a7791bc25c307ff2e129a2e84ba2c97295069601e4795f1269fb76fbe4e0a24b4ef23784b860ffe5c25345d0974592e52a0d2c03c8f2be24d3f6edf7c9c144969de46f0970c1ffcb84a684625415f3307c45d4d3f464fbaf8a6d86b3b942592d5608ee12e1840f97094cf185cdb6b3c720b726744b4976c4f75ab82b9844825ac651ec25c3082f2e1299d30b9b6d678e416e4ce89692ed89eeb57057308904b58ca3d84b86105e5c2533a61736dacf1c82dc99d12d25db13dd6ae0ae6112096b1947b0970c20bcb84a6744ef93406b9f2de4b06ebccb358d9d556c20e7e3e2d64ccf712e1841897094ce72a04c0ba4a483f4dda9dc15ea811d2a8305f58795acb3def25c308322e1299cd5409817494907e9bb53b82bd5023a55060beb0f2b5967bde4b8610645c25339a34255b95ff837fef373d2d7296a5729b6dbfbde26b2e9bbd970c20c9b84a6733684ab72bff06ffde6e7a5ae52d4ae536db7f7bc4d65d377b2e1841937094ce665ca7c704d4708274a9baddc250f3f26863415386acbc12f75c308327e1299ccb4561e6b67f4387a1203be37c98460ccb72c5030a5979c9efb8610650c253399516d62619d4e991fa0d3deef126ea419191cc6211b2f537e070c20ca284a673292dac4c33a9d323f41a7bdde24dd483232398c42365ea6fc0e1841945094ce6525b58986753a647e834f7bbc49ba9064647318846cbd4df81c308328a1299cca442c3897b7daf128836b59f812db034873aa56c8a97ab6304861065152533994711996ba3d1c0a7c83a3166fa51be9109218d35122f586a0a0c20ca2b4a67328d2332d747a3814f907462cdf4a37d2212431a6a245eb0d4141841945694ce651a4665ae8f47029f20e8c59be946fa44248634d448bd61a828308328ad299cca3418ddb5cb6467c0f99e515fca8452b043b8ac048e7ac4f4516106515b5339946731bb6b96c8cf81f33ca2bf9508a560877158091cf589e8a2c20ca2b6a67328ce6376d72d919f03e679457f2a114ac10ee2b01239eb13d1458419456d4ce6519c53000707f9a08a84bf51264c18f3aa1871a28070d629468c08328adb99cca337321266bcc9a397c14b68749028457c2b8f875cdeac543119106515b83399466d6424cd7993472f8296d0e920508af8571f0eb9bd58a8623220ca2b7067328cda545bf39ffcf0e1bcfa67fa38977418a8ea5fcf77b1526865419456e1ce6519b334ca3fecd0444631c1961c692546594c8101faec62a674cb8328adc49cca336569947fd9a0888c63832c38d24a8cb2990203f5d8c54ce99706515b89399466ca5f3b586017739b7ed31e999c8b778d2cb04a47ae8a9b772f0ca2b7137328cd934a89096d0549b9b573035b310d4d42540cd6eb5a1538925f19456e27e6519b2521246b86e0f5f622b2ccde5a10f8aca2c5f032b12a72c8bf328adc50cca336494248d70dc1ebec456599bcb421f159458be0656254e5917e6515b8a199466c9210a406c85a3a5b4297f9a1603a40da85c40326c1a9ccc6fdca2b7144328cd92321480d90b474b6852ff342c07481b50b88064d8353998dfb9456e2886519b24642901b2168e96d0a5fe68580e9036a17100c9b06a7331bf728adc510ca33648c11328eefa8355ccc8c9332f9c864fc28cc5b920a4e67dbef515b8a229466c91722651ddf506ab999192665f390c9f85198b724149ccfb7dea2b7144528cd922e44ca3bbea0d57332324ccbe72193f0a3316e4829399f6fbd456e288a519b245c15a6d02a180d691c315fbfc6398609410f1eec4f7340837b8adc5115a33648b72b4da054301ad23862bf7f8c730c12821e3dd89ee68106f715b8a22b466c916e569b40a86035a470c57eff18e61825043c7bb13dcd020dee2b7144568cd922dc3948d9fd96cdcb9957c42629c28e72032539be789a05bfdd56e288ae19b245b77291b3fb2d9b9732af884c53851ce4064a737cf1340b7fbaadc5115c33648b6e7135c0a33199b11d2bd6c09f0097f007412955df6818a3765b8a22b966c916db6e7dd9f33995e4f22473a935f78e08092e9507bbd032eaedb7144573cd922db5690e0c93498e4c9c15ad7a63e57a380d096c6b74a06779dc6e288ae89b245b695e2e71d3697f1beff8211cbfc1529814bf1b32e640d097b9dc5115d23648b6d1486f3c53a960ba97bd086177790358242a78c1c981a2d374b8a22ba56c916da11cf0d1542923f7e746d6eae6e864d8430133df9003474aea7144574bd922db4139e1a2a85247efce8dadd5cdd0c9b0860267bf20068e95d4e288ae97b245b68273c34550a48fdf9d1b5bab9ba193610c04cf7e400d1d2ba9c5115d2f648b6d047398e34e1f8241f2037d7f2f3984ea12b5e1587d1a3bfb548a22ba5fc916da0773441f491567069bd3c126566967fc2018050cf734799aaa144574c0922db40d729a973f01308fef744874a4c92e203adc4c75eb68f4d955288ae982245b68197147872ad8c3a296b557114188ba687064db47d3d1eb56ab5115d30548b6d0316ea1670287e9c7e537744a7b07d2f8db75f8eba4a3d85157a22ba60b916da061695526b1e63612823baebcee060419b19834334647b246b044574c1822db40c15ebca610a2cea7bc4423a1d402665b5ddcaac2898f66316188ae983145b68181498ba4ce1bffd230550d6b9ffb2adeb66597e1101ece06c4115d30638b6d03011f29a2490e62271876e0ff37ecb3e56777721e1d3d9db18922ba60c816da06013e5344921cc44e30edc1fe6fd967caceeee43c3a7b3b63124574c1902db40c0208b8e1d10feb1f19a84a24d7a92dbd988a0ad471f6786a258ae983215b6818031171c3a21fd63e33509449af525b7b311415a8e3ecf0d44b15d30642b6d0300622e387443fac7c66a128935ea4b6f662282b51c7d9e1a8962ba60c856da0600c45c70e887f58f8cd425126bd496decc45056a38fb3c3512c574c190adb40c01817a075bdd514745251687572893a01834cefa31c67884659ae983216b681802f2f40eb7baa28e8a4a2d0eae51274030699df4638cf108cb35d30642d6d03005e5e81d6f75451d14945a1d5ca24e8060d33be8c719e211966ba60c85ada0600bc4916069b7f06254a5809d38c402e341513bf74e03c43d6ce74c190b6b40c01771e3e65e3d46ecd4c7cd9cf1076ba9024d3c145bd7889519de983216e681802ed3c7ccbc7a8dd9a98f9b39e20ed752049a7828b7af112a33bd30642dcd03005da050bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb30a17e078503b6fd3805ac873a290d11bf68ee5e5c44dd4f14c190b7540c01766142fc0f0a076dfa700b590e74521a237ed1dcbcb889ba9e2983216ea81802ecc285f81e140edbf4e016b21ce8a43446fda3b9797113753c530642dd503005d9850bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb302d906031da197fefd272af321f6b39ba1530ba5944def315c190b7550c01765f5b20c063b432ffdfa4e55e643ed673742a6174b289bde62b83216eaa1802ecbe4253d9743ec882771690e4c0740b0ee301054562137d70580642dd553005d97b10ba0b9553f387a5f9e7f178de7445c0ae4ce6c126fc84b10c85baab600bb2f52174172aa7e70f4bf3cfe2f1bce88b815c99cd824df90962190b7556c01765ea42e82e554fce1e97e79fc5e379d11702b9339b049bf212c43216eaad802ecbd411e2b55775febfe79c05b3beea0056001ea9920637e5c989642dd55c005d97a723c56aaeebfd7fcf380b677dd400ac003d53240c6fcb9312c85baab800bb2f4e478ad55dd7faff9e7016cefba80158007aa64818df97262590b7557001765e9c1b280368865881f4acf3c5ef4660d7fba18eec2ebf2ff04c216eaae102ecbd37365006d10cb103e959e78bde8cc1aff7431dd85d7e5fe09842dd55c205d97a6e6ca00da2196207d2b3cf17bd19835fee863bb0bafcbfc13085baab840bb2f4dc655273f10926925d346457722964e7d7b8b9bd72f98126620b7557091765e9b756b7408ee8afa772358ed6dc4927f7aa1db5d6e2f303f0c516eaae132ecbd36d3980d9caa7c1d19c37e3d5b088ae174ee7ae09c2e609858b2dd55c275d97a6d97301b3954f83a3386fc7ab61115c2e9dcf5c1385cc130b165baab84ebb2f4db27215bfd77569c928ac557eba191685364afa83089827ba2db755709e765e9b63703dd85bc13615092571256c288b32674237620e3051185c6eaae13decbd36c56c8e096458ceacca17a872d047748cc930b1201960a3d4b9dd55c27cd97a6d89652e6b7587ffdc4bfc170d988547418d0da49c2fc1494d74baab84fab2f4db11566f2f97e6623b4fc4f4432900ecab14c78b945c82943eea755709f665e9b62138f0b7dca326f95756aeae49f8377e243b5984b6052a21d5eaae13edcbd36c4171e16fb9464df2aead5d5c93f06efc4876b3096c0a5443abd55c27db97a6d8826fd5381f62fe68152780e11fd73c208b99a86ed514aa2b58aab84fb82f4db1036bbcc8eb9c5f52e21bc7ea37a4d66911df9339a72955fab255709f715e9b6205638bea840f21287c0455fc67400afa1e6b68cf4b52ad9965aae13ee3bd36c409532a2db4f4a4d3afd57220c676741c378313fa93a55cd6cc55c27dc87a6d88113266b416bfac2a1777aa6984e3466069b26a51244abb5199ab84fb91f4db102164cd682d7f58542eef54d309c68cc0d364d4a2489576a3335709f723e9b6204255ad2907d5132b15ab6fce0b8377a9a175eba08e2aeeea67ae13ee48d36c4083376caabc8088d8e323a5c40efd4d7b3d98199d1955df78d05c27dc92a6d881056ed955790111b1c6474b881dfa9af67b30333a32abbef1a0b84fb9254db1020a69c5039ed885e6445b5d3833eb9414f10ca8d062577f8742709f724b9b6204135f9c5fea876e4f408380985fcd8651dcc593fcc1af00b285e13ee49836c408254b4b1881e53f2138d3c758b7916acbb4376a55805e03090cc27dc9316d88104922a889b0a0e0c5297454d9671933bf631b1706fdbc07b61a84fb9263db1020914551136141c18a52e8a9b2ce32677ec6362e0dfb780f6c3509f724c7b620412216b47f6f59e5975d9e198d945b2d2587189e77f3f0207c6b13ee49906c4082432d68fedeb3cb2ebb3c331b28b65a4b0e313cefe7e040f8d627dc9320d88104865ad1fdbd67965d76786636516cb4961c6279dfcfc081f1ac4fb92641b102090c41b65427a58f3da4bd92949acfc7543371361b9c810587599f724c84620412170f7f00fc2180fe0147eb512d95ecd0618eae9336020cb2b43ee49909c408242d1efe01f84301fc028fd6a25b2bd9a0c31d5d266c041965687dc932138810485a3dfc03f08603f8051fad44b657b341863aba4cd80832cad0fb926427102090b4080a608de26a72c20c20b164a5c4ab0721b6f5ad106739a2f724c84f204121671014c11bc4d4e584184162c94b89560e436deb5a20ce7345ee49909e408242ce2029823789a9cb083082c5929712ac1c86dbd6b4419ce68bdc93213c8104859c4053046f1353961061058b252e2558390db7ad688339cd17b926427902090b380cb8618afd09aed88ed13e4252a8d86cc7b1b6ce06753e30724c84f30412166f1970c315fa135db11da27c84a551b0d98f636d9c0cea7c60e49909e608242cde32e1862bf426bb623b44f9094aa361b31ec6db3819d4f8c1c93213cc104859bc65c30c57e84d76c47689f2129546c3663d8db67033a9f183926427982090b3785798715ca6fd7040b9da0c1d20ebaec7275dc8dd6755870824c84f31412166ef3b433b66245d6339407a403238358588fafdedb7ceacb21149909e638242cddd0298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720a633de47c7524a936eaa1719b24cc3288f8ddb2756c208e4c84f32012166ee414c67bc8f8ea49526dd542e33649986511f1bb64ead8411c9909e640242cddc8298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720324636f49db4cd4b3b703f11a8aaeb233bd0372456c3ace5c84f32022166ee3f648c6de93b699a9676e07e235155d64677a06e48ad8759cb909e640442cddc7e552b347f4d35b7e4ba87243e9909d4879b83388e5b105798213cc809859bb8fb3668c1ab70cdf28141d470752871d109e348cd19b6225331427990140b3771f56cd18356e19be50283a8e0ea50e3a213c6919a336c44a66284f32028166ee3ea65b55f5a999a4cbcd417e9cc98256c2239659063d88af0c609e640512cddc7d3577d176209971c3174f5fb9126a9003f1f0d7cc4b117858d13cc80a359bb8fa53b0c8770e990bb1ab6b21f1a43b02878ea5d55866230af1b27990147b3771f49022b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d2208ad9e3aa60fe3b4e8a998b1f6f9e3b203f41c27118c08dd3cc80a419bb8fa44115b3c754c1fc769d1533163edf3c76407e8384e231811ba799014833771f48822b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d22016ec3c573760be06575fb31765fc631aeb841e6e18c231d4cc80a41abb8fa43f2dd878ae6ec17c0caebf662ecbf8c635d7083cdc318463a999014835771f487e5bb0f15cdd82f8195d7ecc5d97f18c6bae1079b86308c7533202906aee3e90fc43743b66916872ea87c3c0b3264140d208634f6dc61332a7640520d6dc7d21f712facf79f933688cdc4da95e42e0a99ebd08fad88c28094fc80a41aeb8fa43ed25f59ef3f266d119b89b52bc85c1533d7a11f5b11850129f9014835d71f487da4beb3de7e4cda2337136a5790b82a67af423eb6230a0253f202906bae3e90fb423e8d47c9ffdc71eaf3372ea0d6374f0948a32c16141ee7f40520d76c7d21f6747d1a8f93ffb8e3d5e66e5d41ac6e9e129146582c283dcfe80a41aed8fa43ece1bb5aa9f56599f328993f3a02bebfbbcfe6b270285095dfe014835dc1f487d9b376b553eacb33e651327e74057d7f779fcd64e050a12bbfc02906bb83e90fb366ed6aa7d59667cca264fce80afafeef3f9ac9c0a142577f80520d7707d21f66c69bfada7892f7c4c1965c4f955be05e29f9b9411284c93f10a41aee1fa43ecd75f91b3fbe8c17b4fff91b1eaa1da33bfeb79841f509acbe314835dc4f487d9ad4b35c0a4a7e57957cbe98bcd3a128f7a8335643ba1373bc72906bb8ae90fb359227dd9f6262d756764993f926a8346efb2ad247442701b8f520d7716d21f66b144fbb3ec4c5aeacec9327f24d5068ddf655a48e884e0371ea41aee2da43ecd621609c0856f1858555f2b2641a06b43b976f6edce09c2123e4835dc5c487d9ac32c13810ade30b0aabe564c8340d68772ededdb9c1384247c906bb8b890fb358658270215bc6161557cac990681ad0ee5dbdbb738270848f920d7717121f66b0c3c605cd84f254562c61f5a04f9b845c663f9ca6d4e1235f341aee2e343ecd61704d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d09a624bae95a1afab209b803d39d670ee86be1af384c1fcf06bb8b8f0fb3585a134c4975d2b435f564137007a73ace1dd0d7c35e70983f9e0d77171e1f66b0b4269892eba5686beac826e00f4e759c3ba1af86bce1307f3c1aee2e3c3ecd61684d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d02674a45b6c043262ed61a835303498e9330076f084c3a0f16bb8b8f1fb35859f4ce948b6d80864c5dac3506a606931d26600ede1098741e2d77171e3f66b0b3e25e4ea1a86734c43824cc8ccb7308b9f784437bf131027c6aee2e3c8ecd6167b4bc9d4350ce69887049991996e61173ef0886f7e26204f8d5dc5c791d9ac2cf623a60116f02fb3c5d5f94b2ad32056788d533af94c42431bbb8b8f24b35859eb474c022de05f678babf29655a640acf11aa675f29884863777171e4966b0b3d61aaa5d08972151cf24ab54a342df81dce18f47e2310ab06fee2e3c93cd6167ab3554ba112e42a39e4956a94685bf03b9c31e8fc4621560dfdc5c79279ac2cf566aa974225c85473c92ad528d0b7e0773863d1f88c42ac1bfb8b8f24f35859eac616540f18f6d1130f220cd120d5a36e1b8bc9b0e885727807171e49f6b0b3d574edcda8ff53ca519b107c21c111295be1dbb921a10aff301e2e3c93fd6167aad29cc0dccc0dbcceb2ed5ac3018835376e7b9803121618a04c5c79280ac2cf55953981b9981b799d65dab58603106a6edcf73006242c314098b8f25015859eab233428fdfd9d1b664881cd8b8586b75d64b285cc18587cc14171e4a03b0b3d56366851fbfb3a36cc91039b170b0d6ebac9650b9830b0f98282e3c94076167aac6591c982c3da95c49ed398ad9580bff53d8e3cf031620d4515c79280fc2cf558b3e4b890551b53b4ba7393daaa67626a25e09fa032c434ca3b8f25020859eab1508a96ab779ccf94f1b38a34d434a753f6856500358883d4871e4a0420b3d56291152d56ef399f29e3671469a8694ea7ed0aca006b1107a90e3c94084167aac5222a5aadde733e53c6ce28d350d29d4fda159400d6220f521c79281082cf558a4454b55bbce67ca78d9c51a6a1a53a9fb42b2801ac441ea438f25021059eab14816a90424733217a980505ccc2b057bf131a75c32888578881e4a0421b3d5628f2d520848e6642f5300a0b998560af7e2634eb865110af1103c94084367aac51e5aa41091ccc85ea601417330ac15efc4c69d70ca2215e22079281086cf558a3c415a79d06ff34003cf490e594e8a0784397d3d91442d6841f250210e9eab14770ec74c4db64902bf6b5844aa937237031f3cd71f885c7484e4a0421e3d5628ed1d8e989b6c92057ed6b0895526e46e063e79ae3f10b8e909c940843c7aac51da3b1d3136d9240afdad6112aa4dc8dc0c7cf35c7e2171d21392810878f558a3b4024cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece0932ec6a22aa62cc9e21353247bf804e98a453e50b9520a0940843cbaac51d9c1265d8d44554c5993c426a648f7f009d3148a7ca172a414128108797558a3b3824cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece01f411f4f0108af81aed97b1c72562ce436879a4db953ae0a40843cbbac51d9bf3e823e9e02115f035db2f638e4ac59c86d0f349b72a75c148108797758a3b37e0916d5e8da8540be882c1469bfb6db8b8660c533e5505c2a0210f2efb14766fb122dabd1b50a817d105828d37f6db7170cc18a67caa0b8540421e5df628ecdf6245b57a36a1502fa20b051a6fedb6e2e198314cf954170a80843cbbec51d9bec48b6af46d42a05f44160a34dfdb6dc5c3306299f2a82e1501087977d8a3b37d81d7fb73a7eb68ea04f876e93f1cbe0b3124eaf3b550766a1210f2efc14766faf3aff6e74fd6d1d409f0edd27e397c166249d5e76aa0ecd42421e5df828ecdf5e02113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760844d65b44f2f4e42b8f891ef636ab1bd5f463a9507cfa1610f2efc54766faec1089acb689e5e9c8571f123dec6d5637abe8c752a0f9f42c21e5df8a8ecdf5d82113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760105fbe612591d0fa85beb9e759c8d9b80b88969207d145620f2efc55766faebf20bf7cc24b23a1f50b7d73ceb391b37017112d240fa28ac41e5df8aaecdf5d7e417ef984964743ea16fae79d672366e02e225a481f4515883cbbf155d9bebafc0f104bb602f10a8bfabbf732c4a4f5bb0887108d3e8bcf117977e2acb37d75f71e20976c05e21517f577ee658949eb76110e211a7d179e22f2efc55966faebee3c412ed80bc42a2feaefdccb1293d6ec221c4234fa2f3c45e5df8ab2cdf5d7dc0494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb709296cb9dbd5ae2f454bc31c370baba5e0f5c0cde8c03919977e2acd37d75f6e1252d973b7ab5c5e8a9786386e17574bc1eb819bd18072332efc559a6faebedc24a5b2e76f56b8bd152f0c70dc2eae9783d70337a300e4665df8ab34df5d7db8494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb701ea9244a93bd65ac218259bb6718e258bb9e68db8c05359a77e2acd47d75f6df3d524895277acb584304b376ce31c4b1773cd1b7180a6b34efc559a8faebedbe06b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b0d6dd3ae4ab032d0a59f1dcb258362bb3577fed6602cf4d5bf1566a5ebafb6f61adba75c956065a14b3e3b964b06c5766aeffdacc059e9ab7e2acd4bd75f6dec35b74eb92ac0cb42967c772c960d8aecd5dffb5980b3d356fc559a97aebedbd86b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b062ef93918165afc226b804aa4e9453ae03c2496302d0f15cf1566a5fbafb6f5f51f17fcfd92de23c1a36314c9386cf56b3c6eec305a386bae2acd4c075f6debd2ff5584c88be473001328a911d6bc6a813d039830b48b176c559a981ebedbd795feab099117c8e60026515223ad78d5027a07306169162ed8ab35303d7db7af24be7b9def95b9f77d190523c6c0d429afb8342092d2469dc1566a608afb6f5e323e1cc6ac919c1a76fe6cc70ce78ad30a348e00f5a4a77b92acd4c125f6debc547c398d59233834edfcd98e19cf15a614691c01eb494ef72559a9824bedbd78a1b998a57fac989558c6159bb3040dcbd3965dc3a692b82e5ab35304a7db7af13373314aff59312ab18c2b3766081b97a72cbb874d25705cb566a6094fb6f5e266e66295feb262556318566ecc10372f4e59770e9a4ae0b96acd4c129f6debc4c68deab6cacaecd642fd0f5d178650de477713dd0495dbb2e59a98254edbd78975dcfaf862fc01d802c68139ae72843c39b24d79d92bd1a5db35304aadb7af12d47b1b7b935e2bdb825964f2dc4aeaf81e28c0b38257bd8bc66a60956b6f5e2591b75c81f4227fe2817f2c6537fbb86fe715a726d4af95579cd4c12ae6debc4b136eb903e844ffc502fe58ca6ff770dfce2b4e4da95f2aaf39a98255cdbd789626dd7207d089ff8a05fcb194dfeee1bf9c569c9b52be555e735304ab9b7af12c467c099a6e7a273f88c5c5a93f43a5fee3715ef6757cc4fcf6a6095746f5e25875b938bfaa5a76aa8e57edd1fded2e7d71a6e3acbaf9a439fd4c12ae9debc4b0d433970a221b1580997c3e237b403f7a8e11ed1945f362b40a98255d4bd789619128539f119c532cafc4dec675e66174c6e7fff25be6dfa825304abaa7af12c31250a73e2338a6595f89bd8cebccc2e98dcfffe4b7cdbf504a6095754f5e258624a14e7c46714cb2bf137b19d79985d31b9fffc96f9b7ea094c12aea9ebc4b0c4203c2835a48c190faf358b32e98ee25e2042552af371781398255d54d78961874078506b4918321f5e6b1665d31dc4bc4084aa55e6e2f027304abaa9af12c30e0d02f9836892e6f6899c54c39c99b1732d4bb0a8cdc7844f609575545e25861b1a05f306d125cded1338a987393362e65a9761519b8f089ec12aeaa8bc4b0c36340be60da24b9bda2671530e7266c5ccb52ec2a3371e113d8255d5517896186c6817cc1b449737b44ce2a61ce4cd8b996a5d85466e3c227b04abaaa2f12c30d85c41f0e35f90f220668b7431bff93f2d80fd6689dc79e8f709575546e25861af44963a73958466f899dd105b7650a655ae3d2910b8f575ef12aeaa8ec4b0c35d153ecd94016b50a9008048aee2ff74a608bcae1e71ec8fdf255d551e896186b92a7d9b2802d6a1520100915dc5fee94c11795c3ce3d91fbe4abaaa3d12c30d7254fb365005ad42a4020122bb8bfdd29822f2b879c7b23f7c9575547a25861ae43608c54ce1bd07ffd0c86d6f0e59cd2af227ccf08f6622fa2aeaa8f54b0c35c76c118a99c37a0fffa190dade1cb39a55e44f99e11ecc45f455d551ea96186b8e64356de05d56a2b70fe7ddb42fc55ca674e18fbf3d9a2fe9abaaa3d62c30d71b547d346d910fc825ec95e36055e8e14796057b7b7b3603d4575547ad5861ae35350cc187f8821303a5f1eeb8a22fea89d84d52f3f66daba9aeaa8f5bb0c35c696a19830ff10426074be3dd71445fd513b09aa5e7ecdb57535d551eb76186b8d260455eccb86acec6648de2da7f1dd2220d77a7ccd9b852a7baaa3d6fc30d71a34c9d16464738204495e1edacf499cc3ec731ab96b372495075547ae0861ae345254c853964d2c340f88a0351df91c0783aa5b32a66e636a1eaa8f5c20c35c6894a990a72c9a58681f11406a3bf2380f0754b6654cdcc6d43d551eb84186b8d1221446d9269ad8fbbaeee353f74a529db96d928a69b9a7e88aaa3d70930d71a234288db24d35b1f775ddc6a7ee94a53b72db2514d3734fd115547ae1261ae344611240ef67d18c1a6887efcf5c8f2cf6907a6fe976e6b9e23aa8f5c25c35c688b22481decfa31834d10fdf9eb91e59ed20f4dfd2edcd73c47551eb84b86b8d11644903bd9f463069a21fbf3d723cb3da41e9bfa5db9ae788eaa3d70970d71a22c1532d060bf288fec10be0fa63df4a342e97a50b8735e951e547ae12f1ae344572a65a0c17e511fd8217c1f4c7be94685d2f4a170e6bd2a3ca8f5c25e35c688ae54cb4182fca23fb042f83e98f7d28d0ba5e942e1cd7a547951eb84bc6b8d115c35a8dbb2cfa7021852b6a529e6034211f814e1c09af64cf3a3d70979d71a22b76b51b7659f4e0430a56d4a53cc068423f029c38135ec99e747ae12f3ae34456e62b5c77814fe8b1917a0bc9f8e6b30428c95e2ff6bdad7cf8f5c25e85c688adb517de79d005f98e9fc07a1371334887fc56e21fbd7b753a01eb84bd1b8d115b52f0e27e6d721b48bc4d56a661cc738fa371e9ff4af704b413d7097a471a22b695e1c4fcdae43691789aad4cc398e71f46e3d3fe95ee096827ae12f48e34456d2484af84832e954e6e01bd190697b0be388bcdbcfbdc2d105f5c25e92c688ada31ca8493d3c352c858cfdcb18c9543fc1bdbc139c7b87460ceb84bd268d115b453950927a786a590b19fb963192a87f837b782738f70e8c19d7097a4d1a22b68a72a124f4f0d4b21633f72c632550ff06f6f04e71ee1d1833ae12f49a34456d147154a296b80be6e434b480be410026089a22f8e0dc3bd4685c25e935688ada276ebb9dda467a5080362f2974785e740be0884dbeb8794cd1b84bd26bd115b44d69899461635723b839247ae0e71b10126d52f77a70f43da47097a4d8a22b68995f25816f9d10ca283f0f1db9c494481f86e84af1e1ea1f49e12f49b24456d1314a5d5b8c108417084ae4636b7f86b839ba12f1e0c3d5e294c25e936588ada26120cd0fc4f76ab0c8628eeecef56b986e20683fbe87ad692a84bd26cc115b44c1419a1f89eed56190c51ddd9dead730dc40d07f7d0f5ad255097a4d9822b689820f4697c0b40d45d95701e333cc0c89b32de35af71eb748ab12f49b31456d13031e8d2f81681a8bb2ae03c667981913665bc6b5ee3d6e915625e936628ada26063d1a5f02d03517655c078ccf303226ccb78d6bdc7add22ac4bd26cc515b44c0c064716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b6898170c8e2d64ed99630509aa832cad84eb2836ba676beb77d2b32f49b31656d1302e191c5ac9db32c60a135506595b09d6506d74ced7d6efa5665e93662cada2605c3238b593b6658c1426aa0cb2b613aca0dae99dafaddf4accbd26cc595b44c0b864716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b689817054f52efbaff8b308676e5ac2ceacda7e17e8d2bbb77ecf33f49b31666d1302df35fcb6a43653e8c89ba2dd7d93b7dcf6dc1401746eff4268e93662cdda2605bd6bf96d486ca7d1913745bafb276fb9edb82802e8ddfe84d1d26cc59bb44c0b7a6405333dafb225da3b519dee453d9bd61c9261cebbfeada4a4d98b38689816f3541cbf2835c6ce6c436963d480d95fa6e5671f9a77feff4a49b31671d1302de5344bd6fd41f01f905398efa0f810e74877109b31efffa29593662ce4a2605bc96897adfa83e03f20a731df41f021ce90ee213663dfff452b26cc59c944c0b7925d41b4a1de2300f91b29e67bd6a1c51c8884c8c4c0002e574d98b39389816f234695c1f092a884aa0319f4efa3a1b233bd4bed86800200af9b3167281302de45193ddc8dfbb38c0bd2fa11d73da18c6226da370a0005a5603662ce512605bc89327bb91bf7671817a5f423ae7b4318c44db46e14000b4ac06cc59ca24c0b791264f77237eece302f4be8475cf68631889b68dc2800169580d98b39449816f22456013d1cb3fee3166496b6b1e36a8b0be314144d002ecf02b316728a302de4473814d2e63e6048e495f3955bbd333e12726a8497005f4206662ce515605bc88d7029a5cc7cc091c92be72ab77a667c24e4d5092e00be840ccc59ca2ac0b7911a6c65a445cfe3a64a24947d66eb2b204475ec6e59017eac1a98b39456816f223364dda1387629cf4c15ef22c5ccb46883981b38af02fefc36316728ae02de446555cd9b1dc2b6214ff8a46d838fc6f901dc78cd5b05ff9c6d62ce515d05bc88c937ad8ee85bcec557be0f02ff15ec19fe6533f6b30c00dcdbc59ca2bb0b7911916f5b1dd0b79d8aaf7c1e05fe2bd833fcca67ed661801b9b78b39457616f223226ac8944e459d9816c50233f44e0e8ff4411236c93005177016728aed2de4464361a38149619db2e556ca8fe0927b47e32e66c98f600bd2e12ce515db5bc88c854f595b3f999de8827a5b47b91b54b7c1090fef1bc01949c359ca2bb7b79119092ac50f2c099e53bcc17cb76a2d07977cbe623a3480343787b39457706f223211558a1e58133ca77982f96ed45a0f2ef97cc4746900686f0f6728aee0de4464223726955cfcdbd1aad2b905a0aa7c85eda5cb44cf00d2821fce515dc2bc88c8436e4d2ab9f9b7a355a5720b4154f90bdb4b96899e01a5043f9ca2bb857911908668acae20c9d1c96317aa3e7aa0503fb1436f6f39034bac803945770bf223210b5d6bb4ee6a06157dfc1aa4ed36fea75d33213a6f0698fd01728aee18e446421546e9c289aa6eadb3c4fb71d2645b76b51284d0db0d339e03e515dc32c88c842919e5ddc02b3fde1f56bd0b9cbf151564d14bfdb31a68e008ca2bb8669119085133cbbb80567fbc3ead7a17397e2a2ac9a297fb6634d1c011945770cd223210a267977700acff787d5af42e72fc545593452ff6cc69a3802328aee19a446421445b4146ae306173b282ae84ddef06d32136a24995d348a447515dc33588c842874294e60937256a1cd22331b3d46bce3d1986ef28a692ec8fa2bb866c1190850d113c24bf44ad56f1710c8b5f9f35c474df503a4e4d277d2045770cd923210a192278497e895aade2e21916bf3e6b88e9bea0749c9a4efa408aee19b24642143244f092fd12b55bc5c4322d7e7cd711d37d40e939349df48115dc33648c84286415f37ea6fbcd3a43552a82f4f00c4ba1a6c42e6f693d8d032bb866ca190850c72be6fd4df79a7486aa5505e9e01897434d885cded27b1a065770cd943210a18e57cdfa9bef34e90d54aa0bd3c0312e869b10b9bda4f6340caee19b286421431c3bae4de4b4cc54d2761a3f9f76c08507e263cf7849ee0c1a5dc33651c8428637036ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da0dbbd1d8ffecb172e3ea9cdb8f7cc829c427ebb64f76f0d6ee19b292421431b41b77a3b1ffd962e5c7d539b71ef99053884fd76c9eede1addc3365248428636836ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da067cf763cd52d99e60b6ff5b0ee2aaa96eec11761f770b16fe19b292521431b3f5bb1452680bdb683e3a61359d2b37d2889c48ac0eee306e0c336524b4286367d4374e2f9d7ddefbf94124eab9bc5224bbfcb717eddc7b1c2866ca497850c6cf912fc1ea0861e6236f4eac54f2de86c922bd93efabb9107860cd949300a18d9f125f83d410c3cc46de9d58a9e5bd0d92457b27df577220f0c19b292601431b3e24bf07a82187988dbd3ab153cb7a1b248af64fbeaee441e18336524c0286367c423f34db10755946f741c527165a18c8c0b0c53d2dc89e03166ca498150c6cf8747e69b620eab28dee838a4e2cb4319181618a7a5b913c062cd949302a18d9f0e1bdf8f70f3b8d4759d3771bd8ce45a2ad873ab48722924c69b292606431b3e1b37bf1ee1e771a8eb3a6ee37b19c8b455b0e75690e452498d36524c0c86367c366f7e3dc3cee351d674ddc6f6339168ab61cead21c8a4931a6ca498190c6cf86c6b0ed43474292664b681b5e45d80f9516fdfb640914aca35d949303318d9f0d762300115beb4cf8139c993c0b1601a9d8c01c87e2297386cb292606731b3e1ad50725ad853cc21ba40594f79591e5d35c445ecf9453014da6524c0cf6367c3592cf70e5d7dfac62c4d78c6eaa89ae26634ce35ef8a61cdb5ca49819fc6cf86b159ee1cbafbf58c589af18dd55135c4cc699c6bdf14c39b6b9493033f8d9f0d623fee9222ce4d9b6902a943a298c9b1937f7b33bb2988dad8292606801b3e1ac30bef7cf272fdb989d218af3d27f18b21ab38c373531359b1524c0d01367c358517def9e4e5fb7313a4315e7a4fe31643567186e6a626b362a4981a026cf86b0a2fbdf3c9cbf6e6274862bcf49fc62c86ace30dcd4c4d66c549303404d9f0d6145f7be79397edcc4e90c579e93f8c590d59c61b9a989acd8a92606809b3e1ac284b0a27d4063e1b54ee511bca7576da155fce933231373f1624c0d01467c3584f2226a854e2deb961a9685f8ce14bdc256bdf82616270222d4981a029cf86b09d444d50a9c5bd72c352d0bf19c297b84ad7bf04c2c4e0445a930340539f0d613a14acfa0061dd683e7267a62b7b8d98905bc0658289c22cb6260680a83e1ac273",
+ "proofs": [
+ "0x86e25aa4267f8b11aded591be91fed683d2a708b7c77a910ed9e18ab6a2f976429811ea034319321eb06d99f270137f0",
+ "0xb0e21a34db02b2dc360e448c6a7315cae1c455cb234fe6c4a9d74a8ee45b8fadc1012b1b3d07912c692782cc642ad200",
+ "0xae7b2bba4d5c6e90609182319d5182c4a9bf194420cfcd88b71ca35f5c56e94849510a39afef43234562dd604657fe27",
+ "0x87aa48a6e5e3bc244c78f61d73d6c56981e691aae27976af87161d606eeb6ef530be60b4e47906b29cce6c38287e3f9a",
+ "0x80aa73320798ba8e5eb4dda65d644566baef3d8ed6b044aa9f8b2847912f48f0b6f347a2a420e7988e08d9602fb7f000",
+ "0xa51680ed2b9df881a450dec27afdfebbf413449b1add1615e91df7e4724dca791bc4840a67fdf1362e14d537c1849ea8",
+ "0xb71f1b3cd9ee0a04950f49db099260f8955f780bdb13681804b0a5c4c3f7600ed228b06bc26ef47c0cd3281229888491",
+ "0x8e199f56faf53b3e409eb337133ab166eb340e450597e36bed68bdae1903fb7dd6e94abffcc439a1f0e230eade7b4e3e",
+ "0xa493d99eef20f8ae68f21de7485b35241a04bfc869fda00433ec8d29472dd431f876a40e5452f37f54c5dcad084d1d06",
+ "0xa85b29f2f1284d8fb9dcac7ee5b2b0722c3152a0206f670d661bf05aaa958851554799a4c77ccb0d26d6afda7a777a35",
+ "0x8c8765ef425e827627772a4788fecd657e2f49b10b21b67bd045b0b7f4bc8dd16fe1f24d1165e6d17355188970d3be02",
+ "0x825f8cb054b614692fe329a99f6c796458210876b928e453e337438fc3e3ea149a0f8a748587014e7bd61fdf0c67fe53",
+ "0xb4a020ce8a9b5446e327f312bba666e7ac64b721a49d0729c7a64de70150a4b6285445e3510bb159cc3727dffdad80dc",
+ "0xadfaa120ef4beb34e3e63aafbc2e278a2298712d45da0076ea453a94424b2418b0f3e32d56f5b55f40cf4060ef0300e3",
+ "0x85739b3691d1792aea016ae28920ad0a536cedc29c7970a38312a697c2af76ecb6d6a9b1c324a92e4a474eb97fbc2e10",
+ "0x9182bd44f5eeb8b68defdec6fff4306b1e4163e936ea201511125163355d5847fcac3452896de4edf2820b651dc556f3",
+ "0xa3fb3d89a5bf575cfd441984b7c43d416f0f37f7120438d43b07907bd114d7421dd7b09bb72aa93e2a3efbeed2e463b8",
+ "0x9954d156dfb402a786659b38f97b95e20dd7e3d9863ba8c00e24e0005869f6cadfb642ff53b36aa9d177963af1a3ccb8",
+ "0x9362481e998dedf85e71e91be5a69612356f0fa6f4412c6e0135bcc5acd11c8ec293c4de7b732feb1012cc5966c66b35",
+ "0xb82561f0a3c9e27af7818876606b5fa7336b68942b0d8828785088e5ac3262af10a27c2a8173bffca5e1b2e226846fb4",
+ "0x8cca55ee5bf0cf40d203dcf638324818edc236d4362d44300e62b384ef63a60979616acc11190caeb54fcf6e7fc6dada",
+ "0x869b905cdf5f8011910a4a1f51cd807f78a99af6e7c8c49f89cfb44c0b98192815a6fabaa5f37213f7e7b328deb761f6",
+ "0x99de2955902ffbcaebe1597675971a7c2379997b1837eb108725b892190fd69ebab76579a33b6511553027d533c37a87",
+ "0xaf3a70699c8b8f56ffb9a5162fd5db927aa5181fdfb1a0f34bd3a56a1eebec2551577407d4c2dd559ef448ee43b5601e",
+ "0xa094da1fdb7087b566948b0f7b341b22789ac3b68f52f59a8f2c37aa8bc668bcc9cb2c3ec3c34b2d176c17d76910b65a",
+ "0xb6dfd926d2d34b7c18a72720e149f376bcfe0a1ce3046db3a62023b0a322631f44f0e60707b47e378d7a6d1b0a0f3b90",
+ "0x84397d78f9cdf3664cdf632be52221bd85126455f0fad51b7c16d8ce20907d208c3e525a0eceb73826ec1c2b7f0fad7e",
+ "0xb1c728e3e0800896b6ab33fe5c7bf2242387b19883e982fbb27499c6bd160c253f03249a69ba208af7141f714836d226",
+ "0xb39027b971f1a9883d0e32d5fa1b78e848c70ef303fa3a1dfa4602d1ba021b4fe09ff88952c2daff5922a5b40c5f9cf4",
+ "0xa226dac589e35af5f046bf9b5e4d5c9b20d490de45d7529d7d71767f8adf2c65a7ad0699d3e3c1bf25f6a1518107affe",
+ "0x828a0c058a389cdadff01663ea7dc13eed1ee5b0c98b578558b27479ca79b31849103d0fd037f074e4769b66f4f92d39",
+ "0xac60270bec8e7d94f50ac2ceaaf146328717144810983e47a8e2e9b56d8e222a478da5c3f9b9cbd37822141b2d153cc7",
+ "0x89130390f58756df6d968d0c5603adf16e4f91b2d1be5496c8f9fc4097b07132986ca38bbc30001523a0cab497d4686d",
+ "0x9793e67eb7497c13f29cfdc71ed41afc8dc32030e2cd9022472e19d4f546218c698d98419a4ae87dd9cf7706b8482a21",
+ "0x8874f9a46848d5125c7ec6364238517f6c4a92871af95d20df06c09296fda06d70d4d580714f0612473264b41491ca1a",
+ "0x957c13c871e1e933e4b6dcd271903c2832a1adedd9943b5ab20208974f23902cd5d042dce5f57283287c5d4aa684a5bb",
+ "0xb4485bc545f2cb2ed1dadd336cceff81f60b6bfddfcaee2552c62c55451a753087a732275ce1a255ad5e17dd4f474a53",
+ "0xa1ca4f7bdb69cee6d3b1606a1039b1153e2f337aa1c9d9159c5837421b60d6d5816df853d7e626c09ca65bf3038d73fc",
+ "0x825d5addbabfd84e3e2193ecc6c404c5b98e9cc362759963e1dede1b8df1a34fad93e5d21c8ddb881532aaf1c43377df",
+ "0x88726caa7caf5e3ad676b0a19a131d8ce312706004350e822114d4a38fd460176db6b839ccc6b206d89a39a42cf421b4",
+ "0xb867bfedd4b880d7534634be08eb2bd5b123c630ff66048d14e5eb14de5598163c535b2441821cc0ab430e9cbd19edb0",
+ "0x81a16249eba683ff215056b0ef3b36f35ad94e7108fed53bd2bc41f8365b974540d93d650b5e92bb4e3574105b20f690",
+ "0xa34202c988aa23dc3b956d968d686659fc54804b81e2ea9dab17b5b34daa27c6c6b93fd7787683bd926ad9d7c0189838",
+ "0x97410ecdad067ba2c45a6bb02a600cf53ca5adf197c79a4f7d753d367615ca84a6fcf761cd22b735294da7f1436a8029",
+ "0xa65339363cdf8ec79a17798b856749576c8f227e2a01b88b68acf8681e0b0ea1d7948467f6e37b7da8e0d2a6a940ee92",
+ "0xb05c41255daff039227a868b0ea367cdc98391d15cd6c7b2283f7d6f8a34e43605df614cf54e08cb03d398bd0ee01451",
+ "0xa3b9f379860c066366a25eb19e4eebc07d7c0aaedf604e119c58e922cb415e01d1a4a6c7aa31d298b185ba17eed0d386",
+ "0xb1e233985ca29d71672924b59f128533ccc18c0a4277848922bce2a2192724e49c3eb092acda033982da73390deb8386",
+ "0x994b88ae88c4258609131215527d8627d78e0cac281154a078480f82c23c53b3af85edde00e91e28586f0344653b0e07",
+ "0x8d7c5faffb81b211d8e5b5504813cba99112a2c7ffb98354590c3751512aebfb6766f0a31470b9a3a3ad437eb63daf6b",
+ "0x92f884d9aaace95a7245f9e9e4d2b13583ee9d2a1319ab1144e7f7609043825b6c90e11b28e3231e894294abe3bd9757",
+ "0x89fda17e02325a9efd7e9eeb58806a06108a9e3e8cfc88f154181b12ef86f8acd7578446f440eb9084bbfce19f5845ce",
+ "0x84e4766c08d0cc41e064d70b1eb6795794171fda12f18d1b5bed92da9be8d6942e8bd2252b62190b7ac8fa2a2463de08",
+ "0xa82bc246b1ab17b5c1c0cf4b094e6360f3c45c011b58f42ed67cf5315ee21e9240f95c6cb1575708dd6f4e2ddf910415",
+ "0xb25a0ec2b3665d6d9b6c2624ec78238a9b509bfa7e8f8dd5950215544a5dcde5eafb94bcbd808f3fa42eecf7a7cb9042",
+ "0xa26ca2b8ec55fdd008f9bcbd9544e6bb207fd7d53cc20f3c999cd172e87624e0fbcf17aa877d525728ce3b3466771f40",
+ "0x8149be780972f66e77f04d2a13e45e261ca524f8b606e89acce87b239e7271303d564061eaceff906647859d2d42e5eb",
+ "0x84b7449c4c0eeeee21faa9322ab6ca1867f5750b3a131c53a99253ced17f38952ac4354b6803992447d982f4d78c5725",
+ "0x88ff8542284eb2ab763f0f7a8575bf3e8df70486f77f2a4e0586ddbc868be3ab55b5de40266a27728f33c6a3d65ef021",
+ "0xa41974b8af2300f4bbe5a6c216a43ea843e73e1f5fbe75af4889b839ec4efe526afe135f6eab6527f6259265bcc5960c",
+ "0xa46b0c84874f8c68332f0e84a0a79faafc388fdeb042ec594ee791f404593e351c81d99250fbf89d7f546c8723d93e54",
+ "0x8941103d53775af3471041e919d2b04381c7b784bb09162d9b5769a1eaf31ef841a8d644acfec115f31aa365390bcd56",
+ "0x9407270997a076920807ddbf649989d4f23995e50737e1ec59b0f5c6872e4b00ea9cea6e0db518412c07dc9ab8cfff32",
+ "0xacf78c7277eca2556a7a02bf073e263dd76cc893ef34e2a9bf6d863d1f31380d6aa3aaf84be391b7ee67851e7e3e2a51",
+ "0xb35739e637e29da4fd97f3ab2f533d6552dc4ebee0b524acd50df904e859e277e30af51c03ea25c334cf1fdd1fe6b7ff",
+ "0xadbe185db253b31833ce4c90beae4680cb5f2aaa7e9bed5ffbf70c7802f7cd225e9bf4e1f981606ddbbd7bfd0d8d47d5",
+ "0x8760da810a8bc4a541e1510a8aee88ed68ffaeadf78f845e2ca81140baa9825b113b737e785c17466804be37a9087dd0",
+ "0xa5f7b22a49b72be48c58fac7f6fe16ce1cd460e6b099ac8332376f0848d9708f51ef5ebca969f88bafc5c0c269bfab7b",
+ "0x93fa76c091c53668ab655f95df513ca9ae396d401e87550fb8f0d12a99093837c0d56b263424145ac151d01aa508c561",
+ "0xaa98b749610a2ae84e90e439baf19941649bf6ecd95e33bb9f5869e4eab11e545f7d18819fa258b082aacdd90ff2cca8",
+ "0x943b478c84fa90232dac1489c55595d3ef58f3f5c2a251752faaf5da156da1bb904894eeacdf4738d92a77f20f47a3e7",
+ "0xb23af40d862c4737ccf4f6e5d306562a0f2630f6090eab77fbbafc467801ddcce31226c24bce3e1093f8e4a40c13f61a",
+ "0x894be76919ef1a047d420c8711d2b006bd7b74214e8793eeb72dc007ad8051750a06b06cb44567e0e9aaebfe03d7a6d8",
+ "0xb5656897119fc6fc298ae89cd6ff817aa5db9f5bc9ddfa2c38efb0f8e63e7821f29a5b5b2f9cb4ad1dba0f42166636fc",
+ "0x972a25868d4d3b197c0d1957a112859fa67a582f755d106e4376e90386ce0ecaa671236e92c23361c01d11fbed4ed009",
+ "0xa7357c970d0b930186f73e098307d3ff229fee5d7c4349797ff4fa81dbee3e03bc01228d37d9f4d7510083bf094bcc5b",
+ "0x8e0b35320d5434438d7a538d5d30212c234b1d7a6e757c8cfc0988122f01d7307635641fed9b8853d58b7a33e5a5c9bd",
+ "0x99b2b7659be9eea782d0662db7246ba6ff4926efe58d04061b39d5ed38fbfc17a195e68a879448c931e5a1d9ea07deaa",
+ "0xa185a1182223e3b8d325ea70986007697b742f3af0093bf5691aa12ab85cae941bc83f27bd6ffeb669f244011e00e85c",
+ "0xb70b9416f6b9593ace7393eb51a732a05b6e4b4a104ed1860746740ba3776f5ac7242c3bb74e07c89abc637ddfe42434",
+ "0xad88a5cf5f7c5384a219cfb4c574177cae1beb0b53ed9e3a4664425b0dadf089eb8c1fdb5cccaf53f568c7cbcbccfb7d",
+ "0xa54c98768bf964f1c70212a3c00899c915639af499a5013adf751e3d66cfa467eaea8cba94b5d18e77750ad15560b46f",
+ "0xa6bf8d0fb3423977a524325f8acde7076c17176a9ee34d0d8450f765bce1fa09a77c6c98dfba566d4c5bbe4e6051537f",
+ "0x86423129a9e19c09d3038eb463ca4400d1d0b13085b98fc5ada3eced6ade97a1aa691ba34109dc91573544fb58445d8e",
+ "0x80210e5daf4f5404cc1c7f9c06f76a1419b327f5f5535f461a71d133ca8041c76c8fb03069cb588b2481c8715ddebe0b",
+ "0xaa4d389bb1ecad854eef5991a1bd7b12c6b36db9636fa7804b2331309c6505cf0580e1a52e9c337e9713f1889ef5536e",
+ "0x8c0b9b02a47c690b61671d06acc0e392b735e66c427b2d79cee4b334af5427005e0c93f9c752baa61724a499dfba1457",
+ "0xa57bdf53fef5336958a0adb043a76d575bee2403b62782b63725312a1b63ed5b4623133c8dad9409ce8c228146ddfe46",
+ "0x98ce0ae4b80e7fb67603c1d6b131aecf14c2b9604b2976f042c5cff8ebaaa949ecda365cfdb0b610eecf92ae395f05c6",
+ "0xab41735f9a3822f8b3a8fb0d996b0a5c644d6ebb31802b9cd953b3b25ef85fe183be8ebc8b8165d41a3ced8964bc576e",
+ "0x99b63f76d140709975e97e391ecf8c6deb1d3e2fda082bb384cebc431f9d092b443f9cbecd3796d6e6cb0f44bd4fa778",
+ "0x88eeb51124121fe5417d1f95fa26d462d1f519507cc9735f60f99e172bd7cec218c391cc962e2bc6175412e3b007f405",
+ "0xa098aeb8434774ef374d8caa7e49fd05a5997994f55238521208d04b11315a6de3a41bb49a471a786b8d6fed49fb9779",
+ "0xa9107964fba3b866072373f725bdb484c754d74369bebd152cd0e5d6a90ed4ac6a9cc2475eea5cdcaaecfa645df5a8f4",
+ "0x9473d4fc231ee8b7d0b92632628cd409fa99fb45f09014b0657fd7c4572e272bfbfeb9261d3d202d560db00dced3a3ae",
+ "0xabbf636726c15d26ecdb15c926d269ad09b49f17b1245dcf5d0e2879ca2d7f35169e6e960d540644afe2df8c2ec37e9a",
+ "0x8f17d77e20c608736a6a1982029db24b85d1dde720e5c5de218fbddc762e44b02b1a265e6767a672981abc570aab2d2f",
+ "0x92b28a50b05b98c8c53d87a3a91207fe1445a81dfeed0f7dd1a4e447982fdd7f1ddd61dd3a8e93906f89de44c07323a8",
+ "0xb93f1d97f20d8c05f3893b884af69590322a2d58d26150d34c3f259a391f74f58172a2bd64839aee0465bb186fec88b7",
+ "0xa3945b0163af9aee9d180a48716b0950af084f778539ac54834b7f0359b7c905740a26a2612d25b87916fecc3f0d2d5b",
+ "0x8e8055ace63ce48067a6aa357a420af43f90bf92acf0819642d9995e77879433ed9459bdb6a9c6a04d13b04fdd5aadbc",
+ "0x96375a653966f5490dddbfabff9a1935e7142b3bd1733d2faec596b8da13cd6b612f692733386b73f38c7b3df3bc6385",
+ "0x9771793f29aa9d6739771f560798fa64859a50079d6d3dcd8af9c8b1cab281cb8f3dfa08427c2bc07859dc8b1ada4b66",
+ "0xad416f02650ddddab08b951cd11e817b5a17b2a9c738daabc279595524fd218fbd4a6d1217f1d6817f9b30ec8c8a570f",
+ "0x95fbec142a418f83b71546f9a74039c44c6e508b92b230ee27d335fd3980ac4304c40b11d7aef0844a161c15063ade2a",
+ "0xb4496464f1f32954ea8aa4e8dc51befb9610839637e71017c384128d1edf7e58a96f5bd222fdaa6e3e637525a70d7057",
+ "0x962c66d4cb46c20d58cbf1ecf9722cf5488c2ec3c60e7f62beaaffb9b3608353d55b7b60ff51fcc08c41d49079d52866",
+ "0x8a4ea659e3fc3ff10f3459d80431cf08524310c708680340fdd387b4edbc49feccc9e30a38dac3022ab754992ac8a261",
+ "0x904d9bcd5d95f09669c3d65fbd502a3207c95e20b4d03d8daa07d552dd532136f01d298b0cf63a06ae70a01bb7cc0e70",
+ "0xa0bcefc936b44761ab6ef3f9d0561fd7c1cc855ed8ffc3e332a73e8d097dff4ab6b0c1ea1d9b93611ceadfad2fb0e320",
+ "0x88c34e561a3f14f85322c39d226c8f6cfb80a76476a3b7b4af696b96898c1ef74517871bf1ef44f59ae0f561ff1fdf49",
+ "0xafaebecdfd7dc1bf000ca63fb44f417b83990581fd14c9f4104301e5fb2627a174d8c210669d35701d28b909b3e6d86d",
+ "0xb5b74e00d55316907bac4cd1785499681a6bcf1c96e380ffa769ec2b524423d85ada7db69081042b1eb848641c4b7f77",
+ "0x8ec69c81f7dff09c7d1fc2df4dc4033b71c9b0acb807e75ab325a6827f30f3bbaeafb1f924c394d11d4d9898dc89742a",
+ "0xad52b8054a2e1bf2a2dc54cad73e6b067cbd26e2d5744e5f52c4954e0b5f1b6be37c05017f2c54b72529a20be0b0935b",
+ "0xa89c96b81b6faaccc75881e7cf4b43e38f57a9e307460838b03805b67c2ea4ce63f93bafeed84e740acfeb9e26c4e456",
+ "0x91f7617ae30f94d5120f750013160afcc557b693974af5f73ddfcff4f710097fc35101452036ad858a58fa5bdcb8d5d2",
+ "0x99a86af83c6d80c6954d20e1d81c4eb7641d8cfb3096f08de08d742643d6b52494d10a9b9a331b80964d5ac631775a0f",
+ "0x858906ff0d1bb8049435918dd3edcbcd7b411ebc5b3a43b0b0feb5f9700f6187fe49fe56d815bbe8cc90db2abe50ffd8",
+ "0x9123f13d935e3e7f8f36c8d0bc2849dccd66c1c901fa2ac355ef15c0263ed5cbe837504aff243dc4bdf5857f37fb581e",
+ "0xb2aa42127d768c2b2f75a06348ecd9e6507e85e187e56e05c5b936f196bda26284dc297e3e51757613450e0b0a8bd838",
+ "0xb62b0cc41bc69077189e67d46a6c4fdd1d579d54e2d397bd8423fb2338ae1b439bf667994ff721f3eb07f7cfe7c24a84",
+ "0xa8dbbeb5cf9d40195498c30584c82087b15e9a77ce6d9ac5d9d64c97b14e20642f3a00ba5814d17dfb54554140f4ee5e",
+ "0x949b01bb91ad323059a48cb61598b94539582319de819fe7f8466db951bbff241679583f86b116832315aecb6fa84afc",
+ "0x8eebdb57fe0d9d2ff92425b2242ad8af84a0fc3227f85d691f64bb3afb38ec83a34b944dc7c34234fd4dc059199d8b6e",
+ "0x8652984af3236117a81e12a7b7d877812b992de376c9b0b2397ed72257a555c8aa523b5851b2bebdd581e36514307f4f",
+ "0x80e00be2fca9d29605932b05de490903f7e51b825322adf9ce8b34b75d8582fff75558dd5d7f2740955f893d7b064538",
+ "0xa31a83633febff3721892795974d2a4770707b4b28ddd1145489b5b1bd478f5b05ea5020b0f7c17adf6226eeb1bf3870"
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadBodiesByHashV1.mdx b/docs-api/api/methods/engine_getPayloadBodiesByHashV1.mdx
new file mode 100644
index 000000000..639625f16
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadBodiesByHashV1.mdx
@@ -0,0 +1,152 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadBodiesByHashV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadBodiesByHashV1
+
+
+
+ Given block hashes returns bodies of the corresponding execution payloads
+
+
+ ## Parameters (by position)
+
+ **Array of block hashes** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ ## Result
+
+ **Execution payload bodies** `array
`
+
+ Execution payload body object V1
+
+ ***
+
+
+
+
+ Show `Execution payload bodies` object
+
+
+ #### `Execution payload bodies` fields
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ *
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38004
+
+
+ * **code**
+
+ -38004
+ * **message**
+
+ Too large request
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadBodiesByHashV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ [
+ "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "transactions": [
+ "0xf865808506fc23ac00830124f8940101010101010101010101010101010101010101018031a02c4d88bfdc2f6dbf82c33d235c4e785e9fc23b2d0fc7b9d20fc5e9674f1f9d15a016d6d69b925cf26128683ab4a096e196fbb1142d6c6d4e8d3481b9bef1bd0f65",
+ "0x02f86c0701843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a039409b4e5603dd8c3cf38232348661a8e99ac518396eeaa128ec9ec2a3eb8127a06b21ab956f5f138cb44fda1a9055bd08980ea4f8040d877c00dac025608d0d95"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ {
+ "transactions": [
+ "0xf865108506fc23ac00830124f8940101010101010101010101010101010101010101018031a0d9712a3c40ae85aea4ad1bd95a0b7cc7bd805189a9e2517403b11a00a1530f81a053b53b0267a6dcfe9f9a1652307b396b3e8a65e65707a450e60c92baefdbcfbe",
+ "0x02f86c0711843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a071d36bc93c7ae8cc5c01501e51e5e97a51aa541d1a89c809a2af7eb40e9bc2cba071644230e21c075c1da08916aff5efe9f95a6f6a4f94dc217f6c1bb4a3240b29"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadBodiesByRangeV1.mdx b/docs-api/api/methods/engine_getPayloadBodiesByRangeV1.mdx
new file mode 100644
index 000000000..9d33a6497
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadBodiesByRangeV1.mdx
@@ -0,0 +1,150 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadBodiesByRangeV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadBodiesByRangeV1
+
+
+
+ Given a range of block numbers returns bodies of the corresponding execution payloads
+
+
+ ## Parameters (by position)
+
+ **Starting block number** `string` *required*
+
+ ***
+
+ **Number of blocks to return** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Execution payload bodies** `array
`
+
+ Execution payload body object V1
+
+ ***
+
+
+
+
+ Show `Execution payload bodies` object
+
+
+ #### `Execution payload bodies` fields
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ *
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38004
+
+
+ * **code**
+
+ -38004
+ * **message**
+
+ Too large request
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadBodiesByRangeV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x20",
+ "0x2"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "transactions": [
+ "0xf865808506fc23ac00830124f8940101010101010101010101010101010101010101018031a02c4d88bfdc2f6dbf82c33d235c4e785e9fc23b2d0fc7b9d20fc5e9674f1f9d15a016d6d69b925cf26128683ab4a096e196fbb1142d6c6d4e8d3481b9bef1bd0f65",
+ "0x02f86c0701843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a039409b4e5603dd8c3cf38232348661a8e99ac518396eeaa128ec9ec2a3eb8127a06b21ab956f5f138cb44fda1a9055bd08980ea4f8040d877c00dac025608d0d95"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ {
+ "transactions": [
+ "0xf865108506fc23ac00830124f8940101010101010101010101010101010101010101018031a0d9712a3c40ae85aea4ad1bd95a0b7cc7bd805189a9e2517403b11a00a1530f81a053b53b0267a6dcfe9f9a1652307b396b3e8a65e65707a450e60c92baefdbcfbe",
+ "0x02f86c0711843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a071d36bc93c7ae8cc5c01501e51e5e97a51aa541d1a89c809a2af7eb40e9bc2cba071644230e21c075c1da08916aff5efe9f95a6f6a4f94dc217f6c1bb4a3240b29"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV1.mdx b/docs-api/api/methods/engine_getPayloadV1.mdx
new file mode 100644
index 000000000..4ef7c7714
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV1.mdx
@@ -0,0 +1,221 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV1
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Execution payload** `object`
+
+ Execution payload object V1
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000021f32cc1"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV2.mdx b/docs-api/api/methods/engine_getPayloadV2.mdx
new file mode 100644
index 000000000..b171a324c
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV2.mdx
@@ -0,0 +1,474 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV2"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV2
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ *
+ **executionPayload** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Execution payload object V1` object
+
+
+ #### `Execution payload object V1` fields
+
+ **executionPayload** `object` *required*
+
+ Execution payload object V1
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Execution payload object V2` object
+
+
+ #### `Execution payload object V2` fields
+
+ **executionPayload** `object` *required*
+
+ Execution payload object V2
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ * **blockValue** `string` *required*
+
+ Expected fee value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV2 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000038fa5dd"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ "blockValue": "0x10a741a46278014d"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV3.mdx b/docs-api/api/methods/engine_getPayloadV3.mdx
new file mode 100644
index 000000000..667543b85
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV3.mdx
@@ -0,0 +1,413 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV3"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV3
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **executionPayload** `object` *required*
+
+ Execution payload
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string` *required*
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string` *required*
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blockValue** `string` *required*
+
+ Expected fee value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blobsBundle** `object` *required*
+
+ Blobs bundle
+
+ ***
+
+
+
+
+ Show `blobsBundle` object
+
+
+ #### `blobsBundle` fields
+
+ * **commitments** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **proofs** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **blobs** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **shouldOverrideBuilder** `boolean` *required*
+
+ Should override builder flag
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV3 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000038fa5dd"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ ],
+ "blobs": [
+ "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18"
+ ]
+ },
+ "shouldOverrideBuilder": false
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV4.mdx b/docs-api/api/methods/engine_getPayloadV4.mdx
new file mode 100644
index 000000000..cafbba91b
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV4.mdx
@@ -0,0 +1,426 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV4"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV4
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **executionPayload** `object` *required*
+
+ Execution payload
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string` *required*
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string` *required*
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blockValue** `string` *required*
+
+ Expected fee value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blobsBundle** `object` *required*
+
+ Blobs bundle
+
+ ***
+
+
+
+
+ Show `blobsBundle` object
+
+
+ #### `blobsBundle` fields
+
+ * **commitments** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **proofs** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **blobs** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **shouldOverrideBuilder** `boolean` *required*
+
+ Should override builder flag
+
+ ***
+
+ * **executionRequests** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV4 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000038fa5dd"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ ],
+ "blobs": [
+ "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x0096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0x01a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0x02a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV5.mdx b/docs-api/api/methods/engine_getPayloadV5.mdx
new file mode 100644
index 000000000..7d52b8b3f
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV5.mdx
@@ -0,0 +1,553 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV5"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV5
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **executionPayload** `object` *required*
+
+ Execution payload
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string` *required*
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string` *required*
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blockValue** `string` *required*
+
+ Expected fee value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blobsBundle** `object` *required*
+
+ Blobs bundle
+
+ ***
+
+
+
+
+ Show `blobsBundle` object
+
+
+ #### `blobsBundle` fields
+
+ * **commitments** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **proofs** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **blobs** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **shouldOverrideBuilder** `boolean` *required*
+
+ Should override builder flag
+
+ ***
+
+ * **executionRequests** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV5 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000038fa5dd"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x86e25aa4267f8b11aded591be91fed683d2a708b7c77a910ed9e18ab6a2f976429811ea034319321eb06d99f270137f0",
+ "0xb0e21a34db02b2dc360e448c6a7315cae1c455cb234fe6c4a9d74a8ee45b8fadc1012b1b3d07912c692782cc642ad200",
+ "0xae7b2bba4d5c6e90609182319d5182c4a9bf194420cfcd88b71ca35f5c56e94849510a39afef43234562dd604657fe27",
+ "0x87aa48a6e5e3bc244c78f61d73d6c56981e691aae27976af87161d606eeb6ef530be60b4e47906b29cce6c38287e3f9a",
+ "0x80aa73320798ba8e5eb4dda65d644566baef3d8ed6b044aa9f8b2847912f48f0b6f347a2a420e7988e08d9602fb7f000",
+ "0xa51680ed2b9df881a450dec27afdfebbf413449b1add1615e91df7e4724dca791bc4840a67fdf1362e14d537c1849ea8",
+ "0xb71f1b3cd9ee0a04950f49db099260f8955f780bdb13681804b0a5c4c3f7600ed228b06bc26ef47c0cd3281229888491",
+ "0x8e199f56faf53b3e409eb337133ab166eb340e450597e36bed68bdae1903fb7dd6e94abffcc439a1f0e230eade7b4e3e",
+ "0xa493d99eef20f8ae68f21de7485b35241a04bfc869fda00433ec8d29472dd431f876a40e5452f37f54c5dcad084d1d06",
+ "0xa85b29f2f1284d8fb9dcac7ee5b2b0722c3152a0206f670d661bf05aaa958851554799a4c77ccb0d26d6afda7a777a35",
+ "0x8c8765ef425e827627772a4788fecd657e2f49b10b21b67bd045b0b7f4bc8dd16fe1f24d1165e6d17355188970d3be02",
+ "0x825f8cb054b614692fe329a99f6c796458210876b928e453e337438fc3e3ea149a0f8a748587014e7bd61fdf0c67fe53",
+ "0xb4a020ce8a9b5446e327f312bba666e7ac64b721a49d0729c7a64de70150a4b6285445e3510bb159cc3727dffdad80dc",
+ "0xadfaa120ef4beb34e3e63aafbc2e278a2298712d45da0076ea453a94424b2418b0f3e32d56f5b55f40cf4060ef0300e3",
+ "0x85739b3691d1792aea016ae28920ad0a536cedc29c7970a38312a697c2af76ecb6d6a9b1c324a92e4a474eb97fbc2e10",
+ "0x9182bd44f5eeb8b68defdec6fff4306b1e4163e936ea201511125163355d5847fcac3452896de4edf2820b651dc556f3",
+ "0xa3fb3d89a5bf575cfd441984b7c43d416f0f37f7120438d43b07907bd114d7421dd7b09bb72aa93e2a3efbeed2e463b8",
+ "0x9954d156dfb402a786659b38f97b95e20dd7e3d9863ba8c00e24e0005869f6cadfb642ff53b36aa9d177963af1a3ccb8",
+ "0x9362481e998dedf85e71e91be5a69612356f0fa6f4412c6e0135bcc5acd11c8ec293c4de7b732feb1012cc5966c66b35",
+ "0xb82561f0a3c9e27af7818876606b5fa7336b68942b0d8828785088e5ac3262af10a27c2a8173bffca5e1b2e226846fb4",
+ "0x8cca55ee5bf0cf40d203dcf638324818edc236d4362d44300e62b384ef63a60979616acc11190caeb54fcf6e7fc6dada",
+ "0x869b905cdf5f8011910a4a1f51cd807f78a99af6e7c8c49f89cfb44c0b98192815a6fabaa5f37213f7e7b328deb761f6",
+ "0x99de2955902ffbcaebe1597675971a7c2379997b1837eb108725b892190fd69ebab76579a33b6511553027d533c37a87",
+ "0xaf3a70699c8b8f56ffb9a5162fd5db927aa5181fdfb1a0f34bd3a56a1eebec2551577407d4c2dd559ef448ee43b5601e",
+ "0xa094da1fdb7087b566948b0f7b341b22789ac3b68f52f59a8f2c37aa8bc668bcc9cb2c3ec3c34b2d176c17d76910b65a",
+ "0xb6dfd926d2d34b7c18a72720e149f376bcfe0a1ce3046db3a62023b0a322631f44f0e60707b47e378d7a6d1b0a0f3b90",
+ "0x84397d78f9cdf3664cdf632be52221bd85126455f0fad51b7c16d8ce20907d208c3e525a0eceb73826ec1c2b7f0fad7e",
+ "0xb1c728e3e0800896b6ab33fe5c7bf2242387b19883e982fbb27499c6bd160c253f03249a69ba208af7141f714836d226",
+ "0xb39027b971f1a9883d0e32d5fa1b78e848c70ef303fa3a1dfa4602d1ba021b4fe09ff88952c2daff5922a5b40c5f9cf4",
+ "0xa226dac589e35af5f046bf9b5e4d5c9b20d490de45d7529d7d71767f8adf2c65a7ad0699d3e3c1bf25f6a1518107affe",
+ "0x828a0c058a389cdadff01663ea7dc13eed1ee5b0c98b578558b27479ca79b31849103d0fd037f074e4769b66f4f92d39",
+ "0xac60270bec8e7d94f50ac2ceaaf146328717144810983e47a8e2e9b56d8e222a478da5c3f9b9cbd37822141b2d153cc7",
+ "0x89130390f58756df6d968d0c5603adf16e4f91b2d1be5496c8f9fc4097b07132986ca38bbc30001523a0cab497d4686d",
+ "0x9793e67eb7497c13f29cfdc71ed41afc8dc32030e2cd9022472e19d4f546218c698d98419a4ae87dd9cf7706b8482a21",
+ "0x8874f9a46848d5125c7ec6364238517f6c4a92871af95d20df06c09296fda06d70d4d580714f0612473264b41491ca1a",
+ "0x957c13c871e1e933e4b6dcd271903c2832a1adedd9943b5ab20208974f23902cd5d042dce5f57283287c5d4aa684a5bb",
+ "0xb4485bc545f2cb2ed1dadd336cceff81f60b6bfddfcaee2552c62c55451a753087a732275ce1a255ad5e17dd4f474a53",
+ "0xa1ca4f7bdb69cee6d3b1606a1039b1153e2f337aa1c9d9159c5837421b60d6d5816df853d7e626c09ca65bf3038d73fc",
+ "0x825d5addbabfd84e3e2193ecc6c404c5b98e9cc362759963e1dede1b8df1a34fad93e5d21c8ddb881532aaf1c43377df",
+ "0x88726caa7caf5e3ad676b0a19a131d8ce312706004350e822114d4a38fd460176db6b839ccc6b206d89a39a42cf421b4",
+ "0xb867bfedd4b880d7534634be08eb2bd5b123c630ff66048d14e5eb14de5598163c535b2441821cc0ab430e9cbd19edb0",
+ "0x81a16249eba683ff215056b0ef3b36f35ad94e7108fed53bd2bc41f8365b974540d93d650b5e92bb4e3574105b20f690",
+ "0xa34202c988aa23dc3b956d968d686659fc54804b81e2ea9dab17b5b34daa27c6c6b93fd7787683bd926ad9d7c0189838",
+ "0x97410ecdad067ba2c45a6bb02a600cf53ca5adf197c79a4f7d753d367615ca84a6fcf761cd22b735294da7f1436a8029",
+ "0xa65339363cdf8ec79a17798b856749576c8f227e2a01b88b68acf8681e0b0ea1d7948467f6e37b7da8e0d2a6a940ee92",
+ "0xb05c41255daff039227a868b0ea367cdc98391d15cd6c7b2283f7d6f8a34e43605df614cf54e08cb03d398bd0ee01451",
+ "0xa3b9f379860c066366a25eb19e4eebc07d7c0aaedf604e119c58e922cb415e01d1a4a6c7aa31d298b185ba17eed0d386",
+ "0xb1e233985ca29d71672924b59f128533ccc18c0a4277848922bce2a2192724e49c3eb092acda033982da73390deb8386",
+ "0x994b88ae88c4258609131215527d8627d78e0cac281154a078480f82c23c53b3af85edde00e91e28586f0344653b0e07",
+ "0x8d7c5faffb81b211d8e5b5504813cba99112a2c7ffb98354590c3751512aebfb6766f0a31470b9a3a3ad437eb63daf6b",
+ "0x92f884d9aaace95a7245f9e9e4d2b13583ee9d2a1319ab1144e7f7609043825b6c90e11b28e3231e894294abe3bd9757",
+ "0x89fda17e02325a9efd7e9eeb58806a06108a9e3e8cfc88f154181b12ef86f8acd7578446f440eb9084bbfce19f5845ce",
+ "0x84e4766c08d0cc41e064d70b1eb6795794171fda12f18d1b5bed92da9be8d6942e8bd2252b62190b7ac8fa2a2463de08",
+ "0xa82bc246b1ab17b5c1c0cf4b094e6360f3c45c011b58f42ed67cf5315ee21e9240f95c6cb1575708dd6f4e2ddf910415",
+ "0xb25a0ec2b3665d6d9b6c2624ec78238a9b509bfa7e8f8dd5950215544a5dcde5eafb94bcbd808f3fa42eecf7a7cb9042",
+ "0xa26ca2b8ec55fdd008f9bcbd9544e6bb207fd7d53cc20f3c999cd172e87624e0fbcf17aa877d525728ce3b3466771f40",
+ "0x8149be780972f66e77f04d2a13e45e261ca524f8b606e89acce87b239e7271303d564061eaceff906647859d2d42e5eb",
+ "0x84b7449c4c0eeeee21faa9322ab6ca1867f5750b3a131c53a99253ced17f38952ac4354b6803992447d982f4d78c5725",
+ "0x88ff8542284eb2ab763f0f7a8575bf3e8df70486f77f2a4e0586ddbc868be3ab55b5de40266a27728f33c6a3d65ef021",
+ "0xa41974b8af2300f4bbe5a6c216a43ea843e73e1f5fbe75af4889b839ec4efe526afe135f6eab6527f6259265bcc5960c",
+ "0xa46b0c84874f8c68332f0e84a0a79faafc388fdeb042ec594ee791f404593e351c81d99250fbf89d7f546c8723d93e54",
+ "0x8941103d53775af3471041e919d2b04381c7b784bb09162d9b5769a1eaf31ef841a8d644acfec115f31aa365390bcd56",
+ "0x9407270997a076920807ddbf649989d4f23995e50737e1ec59b0f5c6872e4b00ea9cea6e0db518412c07dc9ab8cfff32",
+ "0xacf78c7277eca2556a7a02bf073e263dd76cc893ef34e2a9bf6d863d1f31380d6aa3aaf84be391b7ee67851e7e3e2a51",
+ "0xb35739e637e29da4fd97f3ab2f533d6552dc4ebee0b524acd50df904e859e277e30af51c03ea25c334cf1fdd1fe6b7ff",
+ "0xadbe185db253b31833ce4c90beae4680cb5f2aaa7e9bed5ffbf70c7802f7cd225e9bf4e1f981606ddbbd7bfd0d8d47d5",
+ "0x8760da810a8bc4a541e1510a8aee88ed68ffaeadf78f845e2ca81140baa9825b113b737e785c17466804be37a9087dd0",
+ "0xa5f7b22a49b72be48c58fac7f6fe16ce1cd460e6b099ac8332376f0848d9708f51ef5ebca969f88bafc5c0c269bfab7b",
+ "0x93fa76c091c53668ab655f95df513ca9ae396d401e87550fb8f0d12a99093837c0d56b263424145ac151d01aa508c561",
+ "0xaa98b749610a2ae84e90e439baf19941649bf6ecd95e33bb9f5869e4eab11e545f7d18819fa258b082aacdd90ff2cca8",
+ "0x943b478c84fa90232dac1489c55595d3ef58f3f5c2a251752faaf5da156da1bb904894eeacdf4738d92a77f20f47a3e7",
+ "0xb23af40d862c4737ccf4f6e5d306562a0f2630f6090eab77fbbafc467801ddcce31226c24bce3e1093f8e4a40c13f61a",
+ "0x894be76919ef1a047d420c8711d2b006bd7b74214e8793eeb72dc007ad8051750a06b06cb44567e0e9aaebfe03d7a6d8",
+ "0xb5656897119fc6fc298ae89cd6ff817aa5db9f5bc9ddfa2c38efb0f8e63e7821f29a5b5b2f9cb4ad1dba0f42166636fc",
+ "0x972a25868d4d3b197c0d1957a112859fa67a582f755d106e4376e90386ce0ecaa671236e92c23361c01d11fbed4ed009",
+ "0xa7357c970d0b930186f73e098307d3ff229fee5d7c4349797ff4fa81dbee3e03bc01228d37d9f4d7510083bf094bcc5b",
+ "0x8e0b35320d5434438d7a538d5d30212c234b1d7a6e757c8cfc0988122f01d7307635641fed9b8853d58b7a33e5a5c9bd",
+ "0x99b2b7659be9eea782d0662db7246ba6ff4926efe58d04061b39d5ed38fbfc17a195e68a879448c931e5a1d9ea07deaa",
+ "0xa185a1182223e3b8d325ea70986007697b742f3af0093bf5691aa12ab85cae941bc83f27bd6ffeb669f244011e00e85c",
+ "0xb70b9416f6b9593ace7393eb51a732a05b6e4b4a104ed1860746740ba3776f5ac7242c3bb74e07c89abc637ddfe42434",
+ "0xad88a5cf5f7c5384a219cfb4c574177cae1beb0b53ed9e3a4664425b0dadf089eb8c1fdb5cccaf53f568c7cbcbccfb7d",
+ "0xa54c98768bf964f1c70212a3c00899c915639af499a5013adf751e3d66cfa467eaea8cba94b5d18e77750ad15560b46f",
+ "0xa6bf8d0fb3423977a524325f8acde7076c17176a9ee34d0d8450f765bce1fa09a77c6c98dfba566d4c5bbe4e6051537f",
+ "0x86423129a9e19c09d3038eb463ca4400d1d0b13085b98fc5ada3eced6ade97a1aa691ba34109dc91573544fb58445d8e",
+ "0x80210e5daf4f5404cc1c7f9c06f76a1419b327f5f5535f461a71d133ca8041c76c8fb03069cb588b2481c8715ddebe0b",
+ "0xaa4d389bb1ecad854eef5991a1bd7b12c6b36db9636fa7804b2331309c6505cf0580e1a52e9c337e9713f1889ef5536e",
+ "0x8c0b9b02a47c690b61671d06acc0e392b735e66c427b2d79cee4b334af5427005e0c93f9c752baa61724a499dfba1457",
+ "0xa57bdf53fef5336958a0adb043a76d575bee2403b62782b63725312a1b63ed5b4623133c8dad9409ce8c228146ddfe46",
+ "0x98ce0ae4b80e7fb67603c1d6b131aecf14c2b9604b2976f042c5cff8ebaaa949ecda365cfdb0b610eecf92ae395f05c6",
+ "0xab41735f9a3822f8b3a8fb0d996b0a5c644d6ebb31802b9cd953b3b25ef85fe183be8ebc8b8165d41a3ced8964bc576e",
+ "0x99b63f76d140709975e97e391ecf8c6deb1d3e2fda082bb384cebc431f9d092b443f9cbecd3796d6e6cb0f44bd4fa778",
+ "0x88eeb51124121fe5417d1f95fa26d462d1f519507cc9735f60f99e172bd7cec218c391cc962e2bc6175412e3b007f405",
+ "0xa098aeb8434774ef374d8caa7e49fd05a5997994f55238521208d04b11315a6de3a41bb49a471a786b8d6fed49fb9779",
+ "0xa9107964fba3b866072373f725bdb484c754d74369bebd152cd0e5d6a90ed4ac6a9cc2475eea5cdcaaecfa645df5a8f4",
+ "0x9473d4fc231ee8b7d0b92632628cd409fa99fb45f09014b0657fd7c4572e272bfbfeb9261d3d202d560db00dced3a3ae",
+ "0xabbf636726c15d26ecdb15c926d269ad09b49f17b1245dcf5d0e2879ca2d7f35169e6e960d540644afe2df8c2ec37e9a",
+ "0x8f17d77e20c608736a6a1982029db24b85d1dde720e5c5de218fbddc762e44b02b1a265e6767a672981abc570aab2d2f",
+ "0x92b28a50b05b98c8c53d87a3a91207fe1445a81dfeed0f7dd1a4e447982fdd7f1ddd61dd3a8e93906f89de44c07323a8",
+ "0xb93f1d97f20d8c05f3893b884af69590322a2d58d26150d34c3f259a391f74f58172a2bd64839aee0465bb186fec88b7",
+ "0xa3945b0163af9aee9d180a48716b0950af084f778539ac54834b7f0359b7c905740a26a2612d25b87916fecc3f0d2d5b",
+ "0x8e8055ace63ce48067a6aa357a420af43f90bf92acf0819642d9995e77879433ed9459bdb6a9c6a04d13b04fdd5aadbc",
+ "0x96375a653966f5490dddbfabff9a1935e7142b3bd1733d2faec596b8da13cd6b612f692733386b73f38c7b3df3bc6385",
+ "0x9771793f29aa9d6739771f560798fa64859a50079d6d3dcd8af9c8b1cab281cb8f3dfa08427c2bc07859dc8b1ada4b66",
+ "0xad416f02650ddddab08b951cd11e817b5a17b2a9c738daabc279595524fd218fbd4a6d1217f1d6817f9b30ec8c8a570f",
+ "0x95fbec142a418f83b71546f9a74039c44c6e508b92b230ee27d335fd3980ac4304c40b11d7aef0844a161c15063ade2a",
+ "0xb4496464f1f32954ea8aa4e8dc51befb9610839637e71017c384128d1edf7e58a96f5bd222fdaa6e3e637525a70d7057",
+ "0x962c66d4cb46c20d58cbf1ecf9722cf5488c2ec3c60e7f62beaaffb9b3608353d55b7b60ff51fcc08c41d49079d52866",
+ "0x8a4ea659e3fc3ff10f3459d80431cf08524310c708680340fdd387b4edbc49feccc9e30a38dac3022ab754992ac8a261",
+ "0x904d9bcd5d95f09669c3d65fbd502a3207c95e20b4d03d8daa07d552dd532136f01d298b0cf63a06ae70a01bb7cc0e70",
+ "0xa0bcefc936b44761ab6ef3f9d0561fd7c1cc855ed8ffc3e332a73e8d097dff4ab6b0c1ea1d9b93611ceadfad2fb0e320",
+ "0x88c34e561a3f14f85322c39d226c8f6cfb80a76476a3b7b4af696b96898c1ef74517871bf1ef44f59ae0f561ff1fdf49",
+ "0xafaebecdfd7dc1bf000ca63fb44f417b83990581fd14c9f4104301e5fb2627a174d8c210669d35701d28b909b3e6d86d",
+ "0xb5b74e00d55316907bac4cd1785499681a6bcf1c96e380ffa769ec2b524423d85ada7db69081042b1eb848641c4b7f77",
+ "0x8ec69c81f7dff09c7d1fc2df4dc4033b71c9b0acb807e75ab325a6827f30f3bbaeafb1f924c394d11d4d9898dc89742a",
+ "0xad52b8054a2e1bf2a2dc54cad73e6b067cbd26e2d5744e5f52c4954e0b5f1b6be37c05017f2c54b72529a20be0b0935b",
+ "0xa89c96b81b6faaccc75881e7cf4b43e38f57a9e307460838b03805b67c2ea4ce63f93bafeed84e740acfeb9e26c4e456",
+ "0x91f7617ae30f94d5120f750013160afcc557b693974af5f73ddfcff4f710097fc35101452036ad858a58fa5bdcb8d5d2",
+ "0x99a86af83c6d80c6954d20e1d81c4eb7641d8cfb3096f08de08d742643d6b52494d10a9b9a331b80964d5ac631775a0f",
+ "0x858906ff0d1bb8049435918dd3edcbcd7b411ebc5b3a43b0b0feb5f9700f6187fe49fe56d815bbe8cc90db2abe50ffd8",
+ "0x9123f13d935e3e7f8f36c8d0bc2849dccd66c1c901fa2ac355ef15c0263ed5cbe837504aff243dc4bdf5857f37fb581e",
+ "0xb2aa42127d768c2b2f75a06348ecd9e6507e85e187e56e05c5b936f196bda26284dc297e3e51757613450e0b0a8bd838",
+ "0xb62b0cc41bc69077189e67d46a6c4fdd1d579d54e2d397bd8423fb2338ae1b439bf667994ff721f3eb07f7cfe7c24a84",
+ "0xa8dbbeb5cf9d40195498c30584c82087b15e9a77ce6d9ac5d9d64c97b14e20642f3a00ba5814d17dfb54554140f4ee5e",
+ "0x949b01bb91ad323059a48cb61598b94539582319de819fe7f8466db951bbff241679583f86b116832315aecb6fa84afc",
+ "0x8eebdb57fe0d9d2ff92425b2242ad8af84a0fc3227f85d691f64bb3afb38ec83a34b944dc7c34234fd4dc059199d8b6e",
+ "0x8652984af3236117a81e12a7b7d877812b992de376c9b0b2397ed72257a555c8aa523b5851b2bebdd581e36514307f4f",
+ "0x80e00be2fca9d29605932b05de490903f7e51b825322adf9ce8b34b75d8582fff75558dd5d7f2740955f893d7b064538",
+ "0xa31a83633febff3721892795974d2a4770707b4b28ddd1145489b5b1bd478f5b05ea5020b0f7c17adf6226eeb1bf3870"
+ ],
+ "blobs": [
+ "0x1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe304962b3598a0adf33189fdfd9789feab1096ff40006900400000003fffffffc6092c566b31415be66313fbfb2f13fd56212dfe8000d200800000007fffffff84d37e37a3c8aae349928a7775c40a7a570681bcd001be41100000010ffffffef26821fa14f77df20ff1776e6aedf77458d12939700396c2300000022ffffffdd4d043f429eefbe41fe2eedcd5dbeee8b1a25272e0072d84600000045ffffffba261ad7321441ff3bc9240392b1dc0510e08caa5900e7548d0000008cffffff734c35ae642883fe779248072563b80a21c11954b201cea91a00000119fffffee6247db575276a7fa6f1563642bdce3c3e2e750561039ef63500000234fffffdcb48fb6aea4ed4ff4de2ac6c857b9c787c5cea0ac2073dec6a00000469fffffb961e092e81740c8153921f0102ed9718f3661671810e7d7cd5000008d4fffff72b3c125d02e81902a7243e0205db2e31e6cc2ce3021cfaf9aa000011a9ffffee56043712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab086e25654d29100c2a845807597517908938440273ef2eaa000046a9ffffb95610dc4aca9a5220185508b00eb2ea2f2112708804e7de5d5400008d53ffff72ac21b8959534a44030aa11601d65d45e4224e11009cfbcbaa800011aa7fffee55843712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab012f4af01a8f3837a750ba86d8dafa1033fc69c243ef48ea100046aa0fffb955f25e95e0351e706f4ea1750db1b5f42067f8d38487de91d420008d541fff72abe4bd2bc06a3ce0de9d42ea1b636be840cff1a7090fbd23a840011aa83ffee557c23b7d0ba1dfe9e8b75236b6463db3014aa773d1ef7a6190900235508ffdcaaf7476fa1743bfd3d16ea46d6c8c7b6602954ee7a3def4c32120046aa11ffb955ee1af19b954e5cfce5a153d58985cae84d561f5078de9a0825008d5424ff72abdb35e3372a9cb9f9cb42a7ab130b95d09aac3ea0f1bd34104a011aa849fee557b66bc66e553973f396854f5626172ba135587d41e37a68209402355093fdcaaf6c639f3557494a69e4d764d44424b56a655d3cdfc3f4d1e529046aa128fb955ed75350c35b68f756817b8fd0803fc8fcc566bc1b84e9a56e5308d54252f72abdad32b3df63a8512fbac3e5c8f875f0218579ba9306d34c80a711aa84a6ee557b596567bec750a25f7587cb91f0ebe0430af375260da699014e2355094ddcaaf6b256e1d63b77a741a2dc5d4bd9ce1eae10932ca8184d33a69d46aa129cb955ed6339d60523c5b105fd8580bfab929b841bd29bac2d9a68f13b8d54253a72abdac573ac0a478b620bfb0b017f5725370837a537585b34d1e2771aa84a74e557b58a736a6d3bed269aade2c926a640cc3869f6b10cb369a568ef355094eacaaf6b1372e73324b0afb8139258754477f698ce99a47563d34c75df6aa129d6955ed62571e0bef637c1f2def1771280e64b5997df8b46c4a69a8fbfd54253ae2abdac496fd3d69945e66875afb44cf9c2f4db2a6b58e9864d36c380aa84a75d557b58916bba05df622f53a32c2ec1eb7c47de4f82f42f099a6f2b0255094ebbaaf6b1216386646b9ac129fe2523abceeeede499b22aba1034dffa05aa129d7855ed6241531f21840be4d6b4170d7f95d439f12e1097d01d69c1980c54253af1abdac48132509bb4ee2c301ffae127239ed20a56cd71fc37d384d419a84a75e457b5890164a13769dc58603ff5c24e473da414ad9ae3f86fa709a8335094ebc8af6b12025554c7808f134337b84ac48671a65155e20a4cdc4e14f467a129d7925ed6240336bbe7adf48909273d5bb104d9aacaa67056f5b59c2b8cd04253af25bdac48056d77cf5be912124e7ab76209b355954ce0adeb6b385719a084a75e4b7b58900a6701f764a886a754c234ec0b5d0952946d9e32d370afd742094ebc97f6b120135a164776276fd1615130000eb070cd23877ec1a3e1615285129d7930ed624025403ee7992542257a6f262815573fc241bb3fdf44c2c4490b253af262dac480490c9027df20e6cdacab127822a4ddac7e22c21a86858a36174a75e4c6b589009119204fbe41cd9b595624f04549bb58fc4584350d0b146c2e94ebc98d6b12012232409f7c839b36b2ac49e08a9376b1f88b086a1a1628d85d29d7931ad624024464813ef907366d655893c11526ed63f11610d4342c51b0ba53af2635ac4804885514d69ee4cf5d827dedaa224438efdcd864046558a50575a75e4c6c5890090f363c05eaa0013dbcc8a17c3c7ed007b45d0a64c7b14baeec4ebc98d9b120121d6c780bd540027b799142f878fda00f68ba14c98f62975dd89d7931b36240243a65027057566779aaef4c18e9f19e46cc206bef1bc5305fb23af26367c48048735617395b8331760dab5e59cbd99ab592ed1a3a348a62636575e4c6d0890090e53840cb63dcc56ed32382db8fa99393208676d06614c66acbebc98da2120121c9708196c7b98adda64705b71f532726410ceda0cc298cd597d7931b44240243926d15863c49783e045ad196369cac747cc61d9d95531b4f30af26368948048723663d65256952fec0826954652fb710f4387d9727a63842625e4c6d1390090e45588d22f7a9088038d198d0c255cc49e31d3d8a4c4c7228c5bc98da2820121c893d2c9e9c287383296ff7c97ca1f6bbc0e6bd709598e5f58c7931b45140243911066b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a3804872210cd72bca4e931215596b75e274973ef8f37a7a50639b1e33e4c6d1470090e44219ae57949d26242ab2d6ebc4e92e7df1e6f4f4a0c7363c67c98da28e0121c884335caf293a4c485565add789d25cfbe3cde9e9418e6c78cf931b451c0243910866b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a380487221059851551bf93a40d637d861f3fd21789e3ea010339b3873f4c6d1471090e441f3f1c83505589cad293c134367602570e74165e037368b27f98da28e3121c883d0a4b5f4d8176185cf4489064e262d617946f1803e6d3090031b451c7243910791496be9b02ec30b9e89120c9c4c5ac2f28de3007cda612006368a38e487220f2292d7d3605d86173d1224193898b585e51bc600f9b4c2400c6d1471c90e441e4525afa6c0bb0c2e7a24483271316b0bca378c01f369848018da28e3921c883c830c84d84edc40887114f2e461c8b8973f333dc3b6d3234041b451c734391078f61909b09db88110e229e5c8c391712e7e667b876da646808368a38e687220f1e4f338ec08d72a4d41202e110688c4dca7911cceab4ca74116d1471ce0e441e3b2a79762df147cc5ff0cbea18c776c38f9e65f5d269968c23da28e39d1c883c7554f2ec5be28f98bfe197d4318eed871f3ccbeba4d32d1847b451c73a391078ea35f831649b81b4378ff5d05b1439363925da3346a65bd49068a38e757220f1d36bf062c93703686f1feba0b628726c724bb4668d4cb7a920d1471ceae441e3a663f31e3f446953960c9d6964474300df43ab29179970f642a28e39d6c883c74b53f8952b5f3529e3e600fac084e429b93398ae2c32e39086451c73ae91078e953403830394ccd67f98c81d7900267b6d1373b85565c8c50d8a38e75e220f1d29680706072999acff31903af2004cf6da26e770aacb918a1b1471cebc441e3a525c2064bb2995dcb62fe69ddbf6f815aefa113d529724b83728e39d79883c74a344532223298e3c242c9363afe44e5358a064d6a22e4b146f51c73af41078e94514b89cf3297efb0025ecef57befaceabed0c09415c97ccdfa38e75e920f1d289297139e652fdf6004bd9deaf7df59d57da181282b92f99bf471cebd241e3a51252e273cca5fbec0097b3bd5efbeb3aafb4302505725f337e8e39d7a483c74a2431d74046225a5ab8fc2da2b5ee349d5a14a2a607e4c00afe1c73af4a078e944763ae808c44b4b571f85b456bdc693ab429454c0fc98015fc38e75e940f1d288e536f59c55fcbed9bbd7cb2cfaf309d62feccf41c9301cff971cebd291e3a511b32f10c3795fa5def47bf8d9754bf62c0a9dc4436260543f3e39d7a533c74a23565e2186f2bf4bbde8f7f1b2ea97ec58153b8886c4c0a87e7c73af4a678e9446a57d6898b2e4bfa74ebc45e55495bb2fd53b36cd59816b3d08e75e94df1d288d33bbf6bc332fa77a1a44ee4a289158df553a935a8302f0ba21cebd29ce3a511a5039130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920e44c0ccf15dc7ec558fc4f422250f954e531d35817eed14e75e94eb1d288d241c898199e2bb8fd8ab1f89e8444a1f2a9ca63a6b02fdda29cebd29d63a511a4839130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920705e657bec3f017d25c2773a18af214f91742f5517f0754f75e94eb2d288d23f6ccf23a4aee085b2184b166c27bc6a99cf2abaa72fe28e9febd29d66a511a47d65b09ff634238e1bfd5c54d045d6fd2e4a97d14b5fc6c140d7a53ace4a2348f9577398993ea99eefc77ed198820c22574171fe93bf8f2682af4a759d944691f13af989df53b5c0975bc3cb28fa766ca92f2659247f1ff1065e94eb3c288d23e102056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f820815b1adf7380f9a1136f927ad2c05342a3c3917f9061836f4a759e544691f04102b635bee701f34226df24f5a580a685478722ff20c306de94eb3ca88d23e082056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f8200d6d738c49e37c58e035ba72c91e7b3d5005ed7c906327704a759e554691f03f1adae71893c6f8b1c06b74e5923cf67aa00bdaf920c64ee094eb3caa8d23e07e35b5ce31278df16380d6e9cb2479ecf54017b5f2418c9dc129d679551a47c0fc6b6b9c624f1be2c701add39648f3d9ea802f6be483193b8253acf2aa348f81f862e99171749a4845d021cf248845dbcfaca133c606341b05a759e555691f03ef51e57b8fbf9713436d09c64106e9df9a0584c3890c69da0c4eb3caabd23e07dd2fdd4fcc5590a93ea6d9b47a0431e72eb74be30f18d558199d679558a47c0fb95fba9f98ab21527d4db368f40863ce5d6e97c61e31aab0333acf2ab148f81f724b8797de2ca527b2682cf9e00725c4b58971e83963570467759e556391f03ee3232188692facd21c9d201bb804a9b165bf262c6fc6afaccfeb3caac823e07dc5464310d25f59a4393a403770095362cb7e4c58df8d5f599fd679559047c0fb8a18987a519515cb2a414696d80904ed91a8db0dbc1ac05740acf2ab218f81f7133130f4a32a2b9654828d2db01209db2351b61b783580ae8159e556431f03ee266261e94654572ca9051a5b602413b646a36c36f06b015d02b3caac863e07dc4c50d62b397f10dc09d6fadeb83e859487f31ac9ddd6045e066795590d7c0fb8972dbeaf1fd4843acb7abbe5687369510a9277efb8ac0a600dcf2ab21bf81f712d5b7d5e3fa9087596f577cad0e6d2a21524efdf715814c01b9e556437f03ee25a430d152c28736de5b7b5bd99c4036c24f6221adfb02b24383caac870e07dc4b3122c830527495e833c31a32b7e650044988691bc6057ec71795590e2c0fb89652459060a4e92bd0678634656fcca0089310d2378c0afd8e2f2ab21c581f712ca48b20c149d257a0cf0c68cadf9940112621a46f1815fb1c5e556438b03ee25941d7670d610ad76d1ae534153e9862a1f7076e9e002c1078ccaac871707dc4b273aece1ac215aeda35ca682a7d30c543ee0edd3c005820f1995590e2e0fb8964e01ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee2593607b07014646177fa184cb51e71db41e1b8780df42c1708d0aac871747dc4b26c0f60e028c8c2eff430996a3ce3b683c370f01be8582e11a15590e2e8fb8964d81ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee259360071959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf0e32b3e638f404b2a322f3be28248c2c6786767f82e46217590e2e91b8964d7e1c6567cc71e809654645e77c50491858cf0cecff05c8c42eb21c5d23712c9afc38cacf98e3d012ca8c8bcef8a09230b19e19d9fe0b91885d6438ba46e25935f871959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf06f3d971065a2cde1fef563da78a6eac124a9c3f52e47c57690e2e91c8964d7df6a8d86cda1a81e7bcab0eface7abfd7cf595e3e75c912eee21c5d23a12c9afbd612d664819b2bfaf62280751c5b622f4976e23cbb92401dd438ba47525935f794e6d253d09c802169116369b81ca6de3db1ea3947249a7bb871748eb4b26bef128eca326e9f286e4eef2952ef9f303c2627fa325e494f3780e2e91d7964d7de151d9464dd3e50dc9dde52a5df3e60784c4ff464bc929e6f01c5d23af2c9afbc22fc4e5487e2c9e4b88907cb3de2a37043640e894925571e138ba475f5935f7835f89ca90fc593c971120f967bc546e086c81d12924aae3c271748ebeb26bef064b25edcecf14fbe5ef081ac76f07040b8545fe4f49576b85e2e91d7e64d7de0b225e344a748c7a83aad65d86d46c3011b6ce589b92b07b0cc5d23afdc9afbc1544bc6894e918f50755acbb0da8d860236d9cb1372560f6198ba475fb935f782a158b29d6a8946cc6781f9e13480ee841877bbe6b4ac390341748ebf826bef0532b1653ad5128d98cf03f3c26901dd0830ef77cd6958720682e91d7f04d7de0a6562ca75aa251b319e07e784d203ba1061deef9ad2b0e40d05d23afe09afbc14c386ba7621b05e8eb8dc3189236d56a06e8204f57561e25a1ba475fc235f7829770d74ec4360bd1d71b8631246daad40dd0409eaeac3c4b43748ebf846bef052e6dc0f635427a266603d28a40d1b3d0164cc3995a587a3a87e91d7f09d7de0a5b679445175b56cf83d46b3c7999c5c82745c98eb1b0f61910d23afe14afbc14b55b3ae2db8d1021bf759ca0eb29e9b84937d5796061edd622a475fc2a5f78296942881e63f082c636b7ff69ce4a31988d1bed4ebdc3dd504648ebf855bef052d111229574b7680f253cc4fb948ac15914e41cf97887bc448d91d7f0ac7de0a5a122452ae96ed01e4a7989f7291582b229c839f2f10f78891b23afe158fbc14b42448a55d2dda03c94f313ee522b0564539073e5e21ef11236475fc2b1f78296841527045291a2fbe1b2ee049c4c68f0a1cd2a27c13de3c86d8ebf8564ef052d072a4e08a52345f7c365dc093898d1e1439a544f827bc790db1d7f0ac9de0a5a0e549c114a468bef86cbb8127131a3c28734a89f04f78f21b63afe1593bc14b41c354a7b41637a61c564364cda59a5ad0915939a06ef1fe76d75fc2b28782968376a94f682c6f4c38ac86c99b4b34b5a122b27340dde3fcedaebf85650f052d06e613c45b2644c09cd5d9f5b615cf4dc1f0290c418bc8141b6d7f0aca2e0a5a0db4e8ae4119efa96528804debab047e038b163e42e7904276eafe15946c14b41b5292820d01457af5cdccfe56d56ede86c0f0a2459f209f2de5fc2b28e82968369525041a028af5eb9b99fcadaaddbd0d81e1448b3e413e5bcbf85651d052d06d230b2dbed27c1402b4005bdad5215c9aae86aed64c8296f7a7f0aca3b0a5a0da36165b7da4f828056800b7b5aa42b9355d0d5dac99052def4fe15947614b41b464eddc86175678364ccdd1ead3eb54ea64dee119020a761eafc2b28ed2968368b29cde96fc13189816680655273c8c547481e7f1d415067d6f85651db52d06d15539bd2df82631302cd00caa4e7918a8e903cfe3a82a0cfadf0aca3b6a5a0da2a3349fe6bdb28a8bd66c7bd41c5813d17ccbc58720543435ce159476e4b41b4536693fcd7b651517acd8f7a838b027a2f9978b0e40a8686b9c2b28edc968368a6593a525c430525ad67e51cff0c631c59df33bdc5150eb17485651dba2d06d14b3e86fd655c6cce129c9061f60f2460ae6aa9d7872a1f06ea0aca3b755a0da295092053778f3c1edd05e6ebe414a6e95781960b0b543fb1d5159476ebb41b45291240a6ef1e783dba0bcdd7c8294dd2af032c1616a87f63aa2b28edd768368a5224814dde3cf07b74179baf90529ba55e06582c2d50fec7545651dbaed06d14a449029bbc79e0f6e82f375f20a5374abc0cb0585aa1fd8ea8aca3b75da0da29481e179025ca2470882b34e63940ccbd72c5a30cb243fcc15259476ebc41b4528f3c2f204b9448e1105669cc7281997ae58b46196487f982a4b28edd788368a51e04709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b08e13287fde889b0f33381b9f3223b8b859d1d8c1fe95294ca3b75e40da2947611c2650ffbd11361e6670373e64477170b3a3b183fd2a5299476ebc81b4528ec2384ca1ff7a226c3ccce06e7cc88ee2e167476307fa54a5328edd790368a51d84709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b01a25812cb4eb1dc6fffe43972881e0b3061434befe96cd4da3b75e41da29475f344b025969d63b8dfffc872e5103c1660c28697dfd2d9a9b476ebc83b4528ebe689604b2d3ac771bfff90e5ca20782cc1850d2fbfa5b35368edd790768a51d7c5d3e62127dbb70efccb844b13a6d2d92dce401f4f4b80e6e1dbaf20fd14a3af7468f1cd1d1d964976636b15a6b388320660a5fe6e971c0dd3b75e420a29475ed193092507a154be699338aaccccf2e3b78571bcad2e525bb76ebc8424528ebd9326124a0f42a97cd32671559999e5c76f0ae3795a5ca4b76edd790848a51d7b264c24941e8552f9a64ce2ab3333cb8ede15c6f2b4b9496eddbaf210914a3af645596eb30a70ce1ec96627d5e5cd799d66efb3a53972ad1dcb75e421329475ec737402f0e247c4690f98b22b4b00d5ba78a38d0a42e5747ba6ebc8427528ebd8d6e805e1c48f88d21f3164569601ab74f1471a1485cae8f74dd79084ea51d7b1a691314e568539cfbb2f2b2cab6939698d5259e8db95ec2eabaf2109e4a3af6335e388277a709bcaf32ab8d8d6385552c568d991872bf29d675e4213d9475ec6548835d9c2475fc16321d4312bd68d253595d8e2de57ff7adebc8427c28ebd8c91d1913e51f4e7ae43100ae1d712fcca15efd7858cb01935cd79084f951d7b1913a3227ca3e9cf5c862015c3ae25f9942bdfaf0b1960326b9af2109f2a3af63220076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218002ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe0aea6801cb432d22569a56cc4ee2a08b91fef0a41fcc617d084f99217b190bfc15d4d00396865a44ad34ad989dc5411723fde1483f98c2fa109f3242f63217f82ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe03ab8d8c98a9554dd366b94bce48830b3cc31663efcc7bbd184f99218b190bfbf01840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf40c2051ff5c696391ccea8b8dfb744b12252943d7cc88dd204f992193190bfbe81840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf404e1778a29cf8bbd49b6ee0d7ada2d91cfed69979c88f7605f992193290bfbe7f284149f21053fa6103a3e9a751a3da34a9ef8ef09120900cf3243266217f7cfd508293e420a7f4c20747d34ea347b46953df1de122412019e64864cc42fef9fa2d17807517b26c3bdb55ce953ced90cd540097bf4483e434cc90c99985fdf3f35a2f00ea2f64d877b6ab9d2a79db219aa8012f7e8907c869992193330bfbe7e640705a81352c33a73a1d624cea146b2ffc44bafa121134d43243266717f7cfcb0cf30daf40baea064100ec91ca86fe5aa4cbd1f124240da964864ccf2fef9f9519e61b5e8175d40c8201d923950dfcb54997a3e248481b52c90c999e5fdf3f2a33cc36bd02eba8190403b2472a1bf96a932f47c4909036a59219333cbfbe7e5467986d7a05d750320807648e5437f2d5265e8f8921206d4b243266797f7cfca85b4333a0e211231bdcd4f1149ece0da4f8ff7b0f42427e974864ccf3fef9f94f4298bfee9a84c8ef86700a2133fa43449e41521b8486a12f90c999e8fdf3f29d1143d88a0b6c1496d9a63c3a5e52ae83e8c50034090ee660219333d2fbe7e5392287b11416d8292db34c7874bca55d07d18a0068121dccc0432667a5f7cfca72450f62282db0525b6698f0e9794aba0fa31400d0243b9980864ccf4bef9f94e416311cfd31c3276e99f809cae8f39c19f26a5d9d4878d7020c999e98df3f29c72c6239fa63864edd33f01395d1e73833e4d4bb3a90f1ae0419333d31be7e538e58c473f4c70c9dba67e0272ba3ce7067c9a9767521e35c0832667a637cfca71c3d9b4096647bbe2c9c86764f3dfb08ca3f9548e743c85c1164ccf4c7f9f94e370748d9d99f59ff1105d314967254398f2b6cedcb87925c23c999e990f3f29c6d0e91b3b33eb3fe220ba6292ce4a8731e56d9db970f24b8479333d321e7e538da1d2367667d67fc44174c5259c950e63cadb3b72e1e49708f2667a643cfca71b43a46ceccfacff8882e98a4b392a1cc795b676e5c3c92e11e4ccf4c879f94e368009ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367809ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367802c089f78d8d64ae1c4378713981f155dbd7b11762767e19a9e99104029c6ceff58113ef1b1ac95c3886f0e27303e2abb7af622ec4ecfc3353d322080538d9dfe3c34d69039bbae3edda4444656da7d71a22ea1d59da12a6b7a644101a71b3bfb047c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f508f80b9a93b3be6b101d6109482645bbe13f3f507687f1afe99104089c6cefea11f0173527677cd6203ac212904c8b77c27e7ea0ed0fe35fd322081138d9dfd423e02e6a4ecef9ac40758425209916ef84fcfd41da1fc6bfa644102271b3bfa847c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f501b931256119e6968ce9c388c78c283b8c03651046880beff9910408ac6cefe9f372624ac233cd2d19d387118f1850771806ca208d1017dff322081158d9dfd3e6e4c49584679a5a33a70e231e30a0ee300d94411a202fbfe6441022b1b3bfa7c68aaeb5d6355cdfe41a7ec5bbc7245c0adf4e42044079bfdc88204573677f4f75d682f679d0e1eb4501600af6f42b37c082c243d8810dbfc910408af6cefe9ed46e2b77c107ec0206cf22956d4e38ef2bc9aa47810235bfa2208115fd9dfd3d919d7c7a4f76002f8a6aa7aa5a02545e02577a4ed20485bf5441022c0b3bfa7b133af8f49eec005f14d54f54b404a8bc04aef49da4090b7ea88204581677f4f62675f1e93dd800be29aa9ea968095178095de93b481216fd510408b02cefe9ec45ad095d491629a7d0219fd24f78856fbd7ff8366024483ab208116069dfd3d8741b38455f927b7b1d0fa2241e56ed5f25c4162c9048aab5741022c0e3bfa7b0d0f796158c8b1f21b6eba6c7bc13bd3df64c5218f0916faaf8204581d77f4f6191ef2c2b19163e436dd74d8f78277a7bec98a431e122df55f0408b03aefe9ec323de5856322c7c86dbae9b1ef04ef4f7d9314863c245beabe08116075dfd3d86407dd63731bf2139342998bd6003cc6f5d26b687548b9797d1022c0ecbfa7b0c70fbac6e637e42726853317ac00798deba4d6d0ea9172f2fa204581d97f4f618e1f758dcc6fc84e4d0a662f5800f31bd749ada1d522e5e5f4408b03b2fe9ec31c3eeb1b98df909c9a14cc5eb001e637ae935b43aa45cbcbe881160765fd3d863809e88fde9583bbebf65ee557fa2a9757d2f8e3518b993bd2022c0eccfa7b0c6f13d11fbd2b0777d7ecbdcaaff4552eafa5f1c6a3173277a404581d99f4f618de27a23f7a560eefafd97b955fe8aa5d5f4be38d462e64ef4808b03b33e9ec31bc4f447ef4ac1ddf5fb2f72abfd154babe97c71a8c5cc9de9011607667d3d863782a9b56962e9e417732b47d7799079d77dbd09115b995612122c0ecd0a7b0c6ef5536ad2c5d3c82ee6568faef320f3aefb7a1222b732ac2424581d9a14f618dde367fb30590db889497981dd65a7c9dda1b84a053e65728858b03b3439ec31bbb6cff660b21b711292f303bacb4f93bb4370940a7ccae510b160766873d863776661124c319d0a50a2b269f5160509f631a54dd4c995e46172c0ecd0f7b0c6eeb5834a2330a03cccc2313669ab6ff66c0e0ec169632be302f581d9a1ff618ddd53c7b9d12ea6a1c5012ecf52d645cf57c6e1a8929657e045fb03b3440ec31bba9050992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d86377510a1325a5566d76afe54024a57e3025e710eedc9f95fb5980c0ecd105b0c6eea214264b4aacdaed5fca80494afc604bce21ddb93f2bf6b30181d9a20b618ddd44284c969559b5dabf95009295f8c0979c43bb727e57ed660303b34416c31bba8850992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d863775102d44b3023d39edb620c8724fd960866bbb3025f65fb73c0d0ecd105c0c6eea1f5a8966047a73db6c4190e49fb2c10cd776604becbf6e781a1d9a20b818ddd43e412524b5cb4a39904fe7f1375be041a99902f3d67ede94353b34417131bba87b0e5ca2186cf6f5d86c960a66ae1eab4dde4843a9fdbecc6b766882e3637750f51cb94430d9edebb0d92c14cd5c3d569bbc908753fb7d98d6ecd105c6c6eea1ea39728861b3dbd761b258299ab87aad3779210ea7f6fb31add9a20b8d8ddd43d472e510c367b7aec364b0533570f55a6ef2421d4fedf6635bb344171b1bba87a871dc7a33a5d1e03e9626ce62d848dcd890c6969cdbee6ab866882e3737750f4f6fcb4d1422064334f913c4bda6efe1abcdcf8936b7de7971cd105c6f6eea1e9d6ba8f2d51a6f0921beedb173443deb5247e16e6a6fbe96e49a20b8dfddd43d3963643e570b4094fb4aa18ade7ed9fe9f3c0538d1df7ed1ca344171c0bba87a7152dad55aece3acae62093db4f4122539244ccda0beff47956882e3827750f4e131c80362b029dc1490d8a361de82726cf4dbf73e7e00332bd105c705eea1e9c1639006c56053b82921b146c3bd04e4d9e9b7ee7cfc006657a20b8e0bdd43d382533266379709f30a1028b57f7067f1ae7fb238f6f80270b044171c18ba87a7033277251c047668cbed1792f6d72e0b57aba6cdeaf0068561882e3832750f4e0564ee4a3808ecd197da2f25edae5c16af574d9bd5e00d0ac3105c7064ea1e9c0a55eeed1ce83c25e7812473d3531655595add93a8c01bb98720b8e0cad43d381337f032e6a6dace86cf0f0f9e9c8ad2ad61fd834e8039170f4171c196a87a70256fe065cd4db59d0d9e1e1f3d3915a55ac3fb069d00722e1e82e3832d50f4e04a6bd3244771cdbcd309026672688972b03438693700e6003e05c7065ba1e9c09363b8a13bb9fdfc5ddecaf4dcc7710d5b14b32e6b01cda47d0b8e0cb843d3812553839b244a5e7b738a5c11b1854042b0d5a8b8d3039cecfb171c197187a7024933198ef56b1f799ee17e4b5b00dead5c5793cda3073b7df72e3832e40f4e049166331dead63ef33dc2fc96b601bd5ab8af279b460e76fbee5c7065c81e9c09225878948282e0693352bf5563f9d8dd6c0a9192891cef9bddb8e0cb913d3812433d0381b1dc23551e7244d2bfea0fe2d2c165810f39e0dbbc71c197237a70248506195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e049090c32b8211d5259e9629f9aef94fbdb405e1abc36e786b6f3c7065c8fe9c09212186570423aa4b3d2c53f35df29f7b680bc35786dcf0d6de78e0cb91fd381242430cae084754967a58a7e6bbe53ef6d01786af0db9e1adbcf1c19723fa70248486195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e0490904f3ddabeab88214df6bfd6f1461bdc008dee1f6b786d133d7065c8ff9c09211f2a8e0e2a2d72c553ba45d5da8295dffbc81e9ad3f0dbca7be0cb92003812423d551c1c545ae58aa7748babb5052bbff7903d35a7e1b794f7c19724007024847a364a91558c2d9806b5dd7f6200b5a7e9ccbcc74cc370cdf0832e4801e04908f36c9522ab185b300d6bbafec4016b4fd399798e9986e19be1065c9003c09211e6653c9e030718e2d2a43c257ff934c7a1df3579300dc4dbc30cb92008812423cb568b94b2e494485d153e72f7e8c7b73e6aad4e5d1b8b5b871972401202484795392982129f8b1371f7430de7c7ed9677819cf8b737185b0f32e4802504908f29725304253f1626e3ee861bcf8fdb2cef0339f16e6e30b61e65c9004a09211e5270b860f7548ed07fa9d25f97161481d8b2b63ed9dc63103dcb92009512423ca36d831a9b7f8023b7206ae72622872bac11aed9b0b8c7c47c9724012b2484794567188de3d562ca260d9bf6443b6c7f52cfa00f5e71912cfa2e4802574908f2895a43747481281703e7fe14806d3726a04b827ab9e323fdf55c9004af9211e51140994195d8b2b0bf9cc250f8d0cc753b43475170c6499febb92009602423ca210d44dbd887c7e437064ac9e997f7127132d0fede8c94e3d8724012c1484794411a89b7b10f8fc86e0c9593d32fee24e265a1fdbd1929c7b0e4802582908f288235136f621f1f90dc192b27a65fdc49c4cb43fb7a32538f61c9004b05211e51046a26dec43e3f21b832564f4cbfb893899687f6f464a71ec39200960a423ca2086060163552e0c6283172c69175cf4f0dd95249e5c94fe18824012c158479440f4cd285177c240f082fabb51ae1fcc6165ee6efc892a167114802582c08f2881d25b762dbceaaa0c82c1d922dba57b4276a103b8e254472239004b05911e510394b6ec5b79d554190583b245b74af684ed420771c4a88e447200960b223ca207222efe41c110d05d87d3c70aedfbcf89854834a3595136c8f4012c165479440e345dfc838221a0bb0fa78e15dbf79f130a906946b2a26d91e802582ca8f2881c617d1e91d1a969a19c1b7eab375520a5bfe4f84d3544f563e004b05961e51038b2fa3d23a352d3433836fd566eaa414b7fc9f09a6a89eac7c00960b2c3ca207165f47a4746a5a686706dfaacdd548296ff93e134d513d58f8012c165879440e2c4aa1a195ab175385da857d93a0ee7ada9ebe8297a27c55f102582cb1f2881c5721559bd82c9129c381d1231f383b1dafe9bf612c44fa4fe304b05964e51038ad42ab37b05922538703a2463e70763b5fd37ec25889f49fc60960b2c9ca20715a1168c80d88a729c5d40ab474d74a9eba533fe0ae13eae38d12c165949440e2b322d1901b114e538ba81568e9ae953d74a67fc15c27d5c71a2582cb292881c56645a32036229ca717502ad1d35d2a7ae94cff82b84fab8e344b05965251038acc175899191b9bd0e66d1bcb9eb0b31dcd4641616d9f58c069960b2ca5a20715972eb132323737a1ccda37973d61663b9a8c82c2db3eb180d32c16594b440e2b2e5d6264646e6f4399b46f2e7ac2cc7735190585b67d6301a6582cb296881c565c46d72175b34109eb35a484ed7bf71664de4d6769fac7a74db059652e1038acb719c09b983ce4968e380f31d2ee4c54c468dd2ad0f590f29c60b2ca5d2071596d3381373079c92d1c701e63a5dc98a988d1ba55a1eb21e538c16594ba40e2b2da67026e60f3925a38e03cc74bb9315311a374ab43d643ca7182cb297481c565b45a17356ebd8737298d3fb68f68c0ce1df32bb284ac8938e4059652ea038acb674040c38a5170f10ae7459516c7dfc4369299c106591415c90b2ca5d5071596cd0c93dfc1794464cd9b515225861db067d175de09b229cf9316594bab0e2b2d991927bf82f288c99b36a2a44b0c3b60cfa2ebbc1364539f262cb297561c565b32324f7f05e51193366d4548961876c19f45d77826c8a73e4c59652eac38acb664649efe0bca23266cda8a912c30ed833e8baef04d914e7c98b2ca5d5871596cc8555054c46aa8cf9181db4a5058392e77c3a03c98229e9d326594bab1e2b2d98f36b30235abb421dad07cbc98a6d084ea3382d52d453ede65cb297564c565b31d6d66046b576843b5a0f979314da109d46705aa5a8a7dbccb9652eac98acb663a66de618385330a230eb91a5a91a03ba37a4db0b214fd1d982ca5d5941596cc7359cf1bb3e0c896fdea385cad199e9f41a0ddbd6129fbdf31594bab292b2d98e53fb0901497f3b0b3a136e152299b667dedfdd6bf53f96263b2975653565b31c90b7378d60649e41f0f33ea9c4994f4f6883e097ba7f468c8652eaca7acb6639116e6f1ac0c93c83e1e67d5389329e9ed107c12f74fe8d190ca5d594f596cc7222dcde3581927907c3ccfaa712653d3da20f825ee9fd1a32194bab29eb2d98e445b9bc6b0324f20f8799f54e24ca7a7b441f04bdd3fa346432975653d65b31c884349e60d3b00c4a8c004d1bc8fad77633022f3b77f48308752eaca7bcb66390f12a624c74c640c094ccfcb7115b916c10c88436bfe92050fa5d594f896cc721d254c498e98c81812999f96e22b722d82191086d7fd240a1f4bab29f12d98e43a4a98931d31903025333f2dc456e45b0432210daffa48143e975653e25b31c87421437ee73982e30233448380a426de031084775cf491cc7e2eaca7c5b66390e74286fdce7305c60466890701484dbc062108eeb9e92398fc5d594f8b6cc721ce11205449bc6e0ec099d835fa86f9a006ee543970d248d5f9bab29f17d98e439b2240a89378dc1d8133b06bf50df3400ddca872e1a491abf375653e2fb31c873644815126f1b83b026760d7ea1be6801bb950e5c3492357e6eaca7c5f66390e6c1514fafab9d2f8bc9b87d7cc2e2b28321ee42783924853ced594f8bfcc721cd72a29f5f573a5f179370faf985c5650643dc84f072490a79dab29f17f98e439ae5453ebeae74be2f26e1f5f30b8aca0c87b909e0e49214f3b5653e2ff31c8735c34ba3082a4fa489ca904e65967b7698ba363981992444277aca7c5ff6390e6b76974610549f491395209ccb2cf6ed31746c73033248884ef594f8bfec721cd6e5efb1ab76a4ba52a70d9c15d953bce2939d0bc634912addfb29f17fe8e439adb4a088e1baaf9cd0cae79aab320d5c44d1fe3d4c39226ffc0653e2ffe1c8735b5202374e42c561cd129b97d5e3809b094ec0a0584244fa381ca7c5ffd390e6b694046e9c858ac39a25372fabc70136129d8140b08489f470394f8bffa721cd6d20ca02c3d87baf5fc73ac1d70d684ea4e5c6a720d9140320829f17ff5e439ada31940587b0f75ebf8e7583ae1ad09d49cb8d4e41b2280641053e2ffebc8735b463280b0f61eebd7f1ceb075c35a13a93971a9c8364500c820a7c5ffd790e6b68c650161ec3dd7afe39d60eb86b4275272e353906c8a0190414f8bffaf21cd6d1856151c855211e27f0787ff055eaccce072e97cd61404c4839f17ff5f439ada2f383c91b77a8647b5dbd62602b3b7c1bb921555a9280b2d083e2ffebf8735b45d7079236ef50c8f6bb7ac4c05676f8377242aab5250165a107c5ffd7f0e6b68ba6d049f8ac07ba18f3c1ec002c53d2ee8f497b2a1a02e5821f8bffaff1cd6d173661b97c25759c5d64503a7fd80d885cc9571c140405e5444f17ff5ff39ada2e55849883185160e6456cd77f2f80f3393d725de7d80be4c8ae2ffebff735b45c93ca5690fe08e9f807a6117dde67c8f225a8e18f8017e3d16c5ffd7ffe6b68b91055d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d17210aba55992eff83718310af6786ae8c7ec2bd1bda05fc3c5d17ff60019ada2e421574ab325dff06e306215ecf0d5d18fd857a37b40bf878ba2ffec00335b45c842ae95664bbfe0dc60c42bd9e1aba31fb0af46f6817f0f1745ffd80066b68b90855d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d1721037b7b23fc65ab9cffdd11e706146efe6d814199d5fc569d27ff6001aada2e41f6f6f647f8cb5739ffba23ce0c28ddfcdb028333abf8ad3a4ffec00355b45c83e6af121abefcd69f7c40aa1b97b79e7960c92c2727f174b4affd8006bb68b907b61f49c04b5fd56a754db6b6aed51f726c567e0e1fe303a96ffb000d86d1720f54ffb90b6425d3006767cfecdd102164837121dc0fc62192eff6001b1da2e41e92c097a195b1ce2c4b9c025939862548b1a66977ef8c5d65efec00364b45c83d15812f432b639c58973804b2730c4a91634cd2efdf18bacbdfd8006c968b907a23c38411242d60dcab3c6be4657e77a2715dcb9f8e318fd7cfb000d93d1720f430482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e850905b5a2b81d3c9a68a749094c5a3891aff79fdd8c673df5ec00365145c83d0a120b6b45703a7934d14e921298b471235fef3fbb18ce7bebd8006ca28b907a142416d68ae074f269a29d24253168e246bfde7f76319cf7d7b000d9451720f428482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e8501c6db2d858364c5e573ab88cbc01b115abbc59d5c675835fc00365155c83d09f38db65b0b06c98bcae7571197803622b5778b3ab8ceb06bf8006ca2ab907a13e71b6cb6160d931795ceae232f006c456aef1675719d60d7f000d9455720f427c6f7fef6f9814e5aa869bec5dd66bb0a80a252aab33adbeff001b28abe41e84f76b12378c068c4e0cd9fe00b3a335894ac08cb153675d21ff00365158c83d09ed6236c7c4e37b1ed180c2295f3cc93a902d5bbea3cebbe7ff006ca2b2907a13d9507fe8369d58c05ace4a7ab66ff09d1b06f9d9449d7973ff00d9456620f427b12d12291a1114036d695b1d64d63f6230ba360e863af48bff01b28acd41e84f615a245234222806dad2b63ac9ac7ec461746c1d0c75e917fe0365159a83d09ec2405afd151ab2906d72329d8b4f5bb0bd951a9615ebd3d3fd06ca2b3607a13d830cc852d70bc7a392b12b630e95158975d6778828d7a94bfb0d94566d0f427b051990a5ae178f47256256c61d2a2b12ebacef1051af5297f61b28acda1e84f60a33214b5c2f1e8e4ac4ad8c3a545625d759de20a35ea52fec365159b43d09ec14664296b85e3d1c95895b1874a8ac4baeb3bc4146bd4a5fd86ca2b3687a13d8285897861d92dcbbe2df7c58e147b6bf5813bade8a7a9663b1d94566d1f427b04f3d4164e7fc1bfa7d8bbed9ba85cba6aad3b81911f52e6b64b28acda4e84f609d0695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec1390d2a44f99d34ef65c887b6da03eaeaa0a7651c41d4bcf594ca2b3695a13d82721a5489f33a69decb910f6db407d5d5414eca3883a979eb2994566d2b427b04e434a913e674d3bd97221edb680fabaa829d94710752f3d65328acda5684f609c8695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec13905eb6a846a9b1791455419598350cd2052294201a4bd0fd4da2b3695b13d8271f497fa93a29c574e0774953286077cc04f16a9c3197a39e9c4566d2b727b04e3d1f11ab2129ed6c78bb58ce48b74dc0048f1794602f48e1398acda56f4f609c793e23564253dad8f176b19c916e9b80091e2f28c05e91c273159b4ade9ec138f2085905317e18349aba29611ad395280ce8a0ad7dbd2528e72b3695be3d8271e310b20a62fc3069357452c235a72a5019d1415afb7a4a51ce566d2b7c7b04e3c6216414c5f860d26ae8a5846b4e54a033a282b5f6f494a39cacda56f8f609c78c42c8298bf0c1a4d5d14b08d69ca9406745056bede929473959b4adf1ec138f1811a2abc4b7e5cc636f5c39a52fb0a8c9364d33d8d2543273b3695be4d8271e2f234557896fcb98c6deb8734a5f6151926c9a67b1a4a864e766d2b7c9b04e3c5e468aaf12df97318dbd70e694bec2a324d934cf634950c9cecda56f93609c78bc1927b6d29590e5d347a7f52173e36e445eabfac392a3379e9b4adf27c138f177324f6da52b21cba68f4fea42e7c6dc88bd57f58725466f3d3695be4f8271e2ee649edb4a5643974d1e9fd485cf8db9117aafeb0e4a8cde7a6d2b7c9f04e3c5dc55500f4182e9b1520a05d10395799a1da1a23219951b60f5da56f93f09c78bb736b2772fdc35e55be0d1c9ff21515c35ef86c0302a3865ecb4adf27f138f176d6d64ee5fb86bcab7c1a393fe42a2b86bdf0d80605470cbd9695be4fe271e2eda66dc356c473a1827500d4ff47ba398d26a5d5cbda8e33bb3d2b7c9fd4e3c5db359cac38564d6b3066ce0c7e0eda5599f80fd157851c81b68a56f93fb9c78bb653fa7dfb7a00fe8c4a687b7b9d1a8db39ae3c86eda391dad24adf27f838f176c90b62181c1682544119d5976b99afde6e08bb69d8472559a595be4ff171e2ed9116c430382d04a88233ab2ed7335fbcdc1176d3b08e4ab34b2b7c9fe2e3c5db222d8860705a09510467565dae66bf79b822eda7611c95669656f93fc5c78bb6445b10c0e0b412a208ceacbb5ccd7ef37045db4ec2392acd2cadf27f8b8f176c884233da6e3e87c6c96a1f9eb1915c0edb37f8f98172573e5a5be4ff181e2ed90f107a0d895372104aa105655b191645b11c344effe4b020b5b7c9fe313c5db21d20f41b12a6e42095420acab6322c8b6238689dffc960416b6f93fc6278bb643a41e836254dc8412a8415956c645916c470d13bff92c082d6df27f8c4f176c8740fe2c4f771f3050cd4f152d0bf1055838de4d3fc2582a9aebe4ff18ae2ed90e71fc589eee3e60a19a9e2a5a17e20ab071bc9a7f84b05535d7c9fe315c5db21ce3f8b13ddc7cc143353c54b42fc41560e37934ff0960aa6baf93fc62b8bb6439c0b28806865faab1e7450be7deee0d4171b68fbde2c16f176f27f8c58176c8737165100d0cbf5563ce8a17cfbddc1a82e36d1f7bc582de2ede4ff18b02ed90e6e2ca201a197eaac79d142f9f7bb83505c6da3ef78b05bc5dbc9fe31605db21cdc594403432fd558f3a285f3ef7706a0b8db47def160b78bb793fc62c0bb6439b83e9a5f33360d349f11d20fd6e46b696c62d219dfc170bb7027f8c58276c8736f09471713427cebf5f06a47a5bf34fad371e68fbc82e31ae14ff18b05ed90e6dd128e2e2684f9d7ebe0d48f4b7e69f5a6e3cd1f7905c635c29fe3160bdb21cdba251c5c4d09f3afd7c1a91e96fcd3eb4dc79a3ef20b8c6b853fc62c17b6439b744a38b89a13e75faf83523d2df9a7d69b8f347de41718d70a7f8c582f6c8736e82083c9e0fe314216d36aa253e9add531caab57c52e335215ff18b05fd90e6dcf410793c1fc62842da6d544a7d35baa639556af8a5c66a42bfe3160bfb21cdb9e0e218030cf278b131a70b1479d157cc1d6efbb11b8ceec58fc62c1806439b73b1c4300619e4f162634e1628f3a2af983addf7623719dd8b1f8c58300c8736e76388600c33c9e2c4c69c2c51e7455f3075bbeec46e33bb163f18b060190e6dcec710c0186793c5898d3858a3ce8abe60eb77dd88dc67762c7e3160c0321cdb9d86e2a5bb9c8db33e973d13c71c7b5f4181b3e0d188cf06990c62c1807439b73af686710206818ea8ab468a0db85ca102ae2be762e19e277228c58300f8736e75d5ce078eda69457cd359769af01f2485071bf485933c6924618b060200e6dceb945d34a88238b325237f4fb55fa42b89b8fc0ecaf678ec88d3160c0411cdb9d7117b8edbd1d78e75c3cb01ea3eae39931cbc4355bcf1f351b62c1808339b73ae12f71db7a3af1ceb879603d47d5c7326397886ab79e3e6a36c5830106736e75c25ee3b6f475e39d70f2c07a8fab8e64c72f10d56f3c7cd46d8b06020ce6dceb8449d9c695c229bd99b2471d174d7af1890a6406db78fb4cdc160c041acdb9d7071fc5e5d85ab5fdeb3154622691540b0cc10a69b3f1f83db92c1808369b73ae0d3f8bcbb0b56bfbd662a8c44d22a816198214d367e3f07b725830106d36e75c1a0b29f00e413a7a649217b0923bae542db06c02ccc7e29ae5b06020db6dceb8331653e01c8274f4c9242f6124775ca85b60d805998fc535cb60c041b6db9d70662ca7c03904e9e992485ec248eeb950b6c1b00b331f8a6b96c180836db73ae0cc594f807209d3d32490bd8491dd72a16d836016663f14d72d830106db6e75c1983eb15990ea0a2900ee41311bb1436ad5b30288c97e2b525c06020db7dceb832f09750bceaa76d4b9a9488a2f58e4fda612476d8ffc5848b90c041b70b9d7065d12ea179d54eda9735291145eb1c9fb4c248edb1ff8b09172180836e173ae0cba25d42f3aa9db52e6a52228bd6393f698491db63ff16122e430106dc2e75c19744ba85e7553b6a5cd4a44517ac727ed30923b6c7fe2c245c86020db85ceb832e8236315977dcfce52614ecaed84ae025bd0b934fcc5862f91c041b70c9d7065cf46c62b2efb9f9ca4c29d95db095c04b7a17269f98b0c5f2380836e193ae0cb9e199eaf0acda1bc01520153ae09163169ef272ff0161a62480106dc3375c1973b333d5e159b437802a402a75c122c62d3de4e5fe02c34c490020db866eb832e76667abc2b3686f00548054eb82458c5a7bc9cbfc058698920041b70cdd7065cec5907d103437062c25cd0c5683f0fb34a257bdb7db0d4b6410836e19cae0cb9d73e21fab35d43483c8667b2c8747d8e8ef73a12f861ab1083106dc33a5c1973ad08564e1390e91330d9958d88df5945189ab681edc357c50720db8675b832e75910ac9c2721d22661b32b1b11beb28a31356d03db86af8a0e41b70ceb7065ceb22159384e43a44cc3665636237d6514626ada07b70d5f141c836e19d6e0cb9d6442b2709c87489986ccac6c46faca28c4d5b40f6e1abe283906dc33adc1973ac8117739e5e4f3b5c5661f0085ebf2798457aa7ad9357df4730db8675c832e758f22ee73cbc9e76b8acc3e010bd7e4f308af54f5b26afbe8e61b70ceb9065ceb1e45dce79793ced715987c0217afc9e6115ea9eb64d5f7d1cc36e19d720cb9d63c17cc27dbfe0030e2fdbe2c2755f1f41d699632c6abf147996dc33ae51973ac772f984fb7fc0061c5fb7c584eabe3e83ad32c658d57e28f32db8675ca32e758ee5f309f6ff800c38bf6f8b09d57c7d075a658cb1aafc51e65b70ceb9465ceb1dc4a73978cc66409cfbab78932a5edc8e5f8f3f2325f8be0cc6e19d729cb9d63b720f987c6632a965742353a5d4239b9c69e2a4061bf196599dc33ae54973ac76d41f30f8cc6552cae846a74ba8473738d3c5480c37e32cb33b8675ca92e758eda0ff877c6630cdc14d59b116cff450f1524eb5d83fc673a6870ceb9535ceb1db31ff0ef8cc619b829ab3622d9fe8a1e2a49d6bb07f8ce74d0e19d72a6b9d63b663fe1df198c337053566c45b3fd143c5493ad760ff19ce9a1c33ae54d73ac76cc0bd616dfeec9635e799eb35ff086a0a3d39d481ce33b77448675ca9be758ed9717ac2dbfdd92c6bcf33d66bfe10d4147a73a9039c676ee890ceb9537ceb1db2e2f585b7fbb258d79e67acd7fc21a828f4e7520738ceddd1219d72a6f9d63b65c5eb0b6ff764b1af3ccf59aff8435051e9cea40e719dbba2433ae54df3ac76cb84973c6abc2f8b89f66b15df6fec83237e616ddcb33b91849675ca9bf758ed96f1ef9e6045c53f3f69a28e3e5f3ee8c6a787017936773d493ceb9537feb1db2dd3df3cc08b8a7e7ed3451c7cbe7dd18d4f0e02f26cee7a9279d72a6ffd63b65ba07f9f0be47b252923569b78fc61859a48e02ba4a9dd0f6503ae54e00ac76cb730ff3e17c8f64a5246ad36f1f8c30b3491c0574953ba1eca075ca9c0158ed96e61fe7c2f91ec94a48d5a6de3f18616692380ae92a7743d940eb953802b1db2dcc3fcf85f23d929491ab4dbc7e30c2cd247015d254ee87b281d72a700563b65b980bb164915187abdb2361a0f457e3c2438c6e00a6dd110904ae54e00bc76cb72f1762c922a30f57b646c341e8afc7848718dc014dba2212095ca9c0178ed96e5e2ec59245461eaf6c8d8683d15f8f090e31b8029b74442412b953802f1db2dcbc5d8b248a8c3d5ed91b0d07a2bf1e121c63700536e888482572a7005e3b65b9784728a1c1eedd406a02e0373d749a4c337322666ad112344be54e00bd76cb72ef1a639c30b41d038bd2869672df92c061928728d2a2260c98ca9c017bed96e5dd34c73861683a0717a50d2ce5bf2580c3250e51a5444c1931953802f7db2dcbba698e70c2d0740e2f4a1a59cb7e4b01864a1ca34a889832632a7005efb65b97745f2f3a32774a9f1660fadb8ef2f42b07407ba292113208c754e00be06cb72ee74a70cd11c4f7c0e48ebbdf15dc467e092d39a1212265b58fa9c017c1d96e5dcd20f3f2d060520480ea3de623aeeb240d06b59e3f44cd0f2053802f84b2dcbb9941e7e5a0c0a40901d47bcc475dd6481a0d6b3c7e899a1e40a7005f0965b977320fe223ee57aa94bb75bdc086b20ab82ec718d4fa1335e0824e00be13cb72ee631fc447dcaf552976eb7b810d6415705d8e31a9f4266bc1049c017c2796e5dcc63f888fb95eaa52edd6f7021ac82ae0bb1c6353e84cd782093802f84f2dcbb98c0b23781f93b728937ab42c2d86b3e970e50903cd99b0a8137005f09f5b9773171646f03f276e5126f568585b0d67d2e1ca12079b33615026e00be13eb72ee62e2c8de07e4edca24dead0b0b61acfa5c394240f3666c2a04dc017c27d6e5dcc5c591bc0fc9db9449bd5a1616c359f4b8728481e6ccd85409b802f84fadcbb98b83e49daa611d50bef7808ead0619cbf08fcd298d69b0c2538005f09f6b977316f08a60df8fa0c9a96bcd7fd98b997a60ca5e78daa3619ee7100be13ee72ee62dd114c1bf1f419352d79affb31732f4c194bcf1b546c33dce2017c27dce5dcc5ba229837e3e8326a5af35ff662e65e9832979e36a8d867b9c402f84fb9cbb98b7445306fc7d064d4b5e6bfecc5ccbd30652f3c6d51b0cf738805f09f73977316e81673383c772c2c239a4601838fd888c50abb36a061a08b110be13ee82ee62dcf2ce67078ee585847348c03071fb1118a15766d40c341162217c27dd05dcc5b9e59cce0f1dcb0b08e6918060e3f6223142aecda8186822c442f84fba0bb98b73c3fac1a908fc3e3d49ef6341475226e23021c11000d05fc895f09f74277316e770b6a8dcdf5ea4a610ab29020e0a30440b07a7dfd1a0d9d13be13ee85ee62dced16d51b9bebd494c215652041c146088160f4fbfa341b3a277c27dd0bdcc5b9da2daa3737d7a929842aca4083828c1102c1e9f7f46836744ef84fba17b98b73b45b546e6faf525308559481070518220583d3efe8d06ce89df09f742f7316e76842bb358c350728c877ef2a06008e6c05b3ea3bcea0db753ce13ee85fe62dcecf1188c3c54070d448bca47c03f77b00061416d39a41b88e7ac27dd0c0cc5b9d9d2311878a80e1a8917948f807eef6000c282da73483711cf584fba18198b73b3a46230f1501c35122f291f00fddec0018505b4e6906e239eb09f74303316e7674185876d6d9e924fdb1ea0817b236282b4cf8f8cf0dc617d713ee860762dcece730b0edadb3d249fb63d4102f646c505699f1f19e1b8c2fae27dd0c0ec5b9d9ce6161db5b67a493f6c7a8205ec8d8a0ad33e3e33c37185f5c4fba181d8b73b39c4ed60f63a5abaaa55c1668b5880f6955140a22756e3262b99f74303c16e7673729be777421b9d80284f2f963067cfaa4d456a0e7dc6669743ee860792dcece6d537ceee84373b00509e5f2c60cf9f549a8ad41cfb8ccd2e87dd0c0f25b9d9cda330c367d5d49e2c1e0920d841052128dfd9cdf9c719b49d1fba181e5b73b39b366186cfaba93c583c1241b0820a4251bfb39bf38e33693a3f74303cb6e767366584332a24b8a0dbf4f0e5e0837a67232a2b5da6ec66ecb48ee860797dcece6cb3c98bdf16d769e366ae2e40865ab0c5ff1ae10da8cdf3a92dd0c0f30b9d9cd950543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290a87a91f629f7e494517e011836881751f3cfb643380324d74303cc4e7673652150f523ec53efc928a2fc02306d102ea3e79f6c86700649ae8607989cece6ca42a1ea47d8a7df925145f80460da205d47cf3ed90ce00c935d0c0f3139d9cd948543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290348ceaa3005a674c1e4429102ce63f4ca01212403804c8d84303cc4f7673651f6919d54600b4ce983c88522059cc7e9940242480700991b08607989eece6ca3e5e460338d7cc1fe845d6cc38a9f7252d2c8aa4fde014c7620c0f313ed9cd947b489e5f1e85fac2885873c0694a4c72550557a5f8c02b32c5181e627eb39b28f51d4f16e9e25807c87dada8ca8af70ca4b6f1a7ee8058098b303cc4fe673651e93a9e2dd3c4b00f90fb5b519515ee19496de34fdd00b01316607989fcce6ca3d2014eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0a75a2a2fe150ece1be6591111d2d46c4047ddb80b0e516e07989fd4e6ca3d1814eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0336c82dcb7b36f998b2bb909138b6ebeb0c0377db0e6bae17989fd4f6ca3d17f66d905b96f66df33165772122716dd7d61806efb61cd75c2f313fa9ed947a2fe59c4641fb530411df9750c1c448be2f56f4339f3c39c8f86e627f53eb28f45fb3f9b20ec40c304f3bfb040307f75ede58ac8cfe4873ac30ecc4fea7e651e8bf50b489a8557e88c9f4c26a858f54a03c5c1d3fbc60e772a1e989fd4fdca3d17e91691350aafd1193e984d50b1ea94078b83a7f78c1cee543d313fa9fb947a2fd22d226a155fa2327d309aa163d5280f17074fef1839dca87a627f53f728f45fa45a44d42abf4464fa613542c7aa501e2e0e9fde3073b950f4c4fea7ee51e8bf48409c010254eb4cac8f30ad874afe6456c982185de77445ea89fd4fdda3d17e8f0d4a5ab180391c10eb2783068c5af0a83f468cb8ceea2fd613fa9fbc47a2fd1d1a94b56300723821d64f060d18b5e1507e8d19719dd45fac27f53f788f45fa3a35296ac600e47043ac9e0c1a316bc2a0fd1a32e33ba8bf584fea7ef11e8bf4746a52d58c01c8e087593c183462d78541fa3465c677517eb09fd4fde23d17e8e860b803c4d9f443c67f3e5860bc0d327ea0ab2789eea4a1623fa9fbc57a2fd1cf4d8260368a4b0a44cb42d8b96e788cf7ed98ab10dd4ae6c57f53f78bf45fa39d27171919eaf89741634bd96ad34f41ea8773b21eba97718bfea7ef18e8bf47394e2e3233d5f12e82c697b2d5a69e83d50ee7643d752ee317fd4fde31d17e8e72286ebd148244dfbd59f58da3439b2fa4ca112477ea5f6a30fa9fbc64a2fd1ce350dd7a290489bf7ab3eb1b4687365f49942248efd4bed461f53f78c945fa39c62dcd4cfedf7601ad349c5e8504cae68dd486eddca97f4cc4ea7ef1938bf4738b5b9a99fdbeec035a6938bd0a0995cd1ba90ddbb952fe9989d4fde32717e8e71643478ca8543a896c9f37a20c0989c231fe5e136fa5fed714a9fbc64f2fd1ce2b12a171fd7ed795910b356c100971ac5ea8fe82dc4bff522a53f78c9f5fa39c552542e3fafdaf2b22166ad82012e358bd51fd05b897fea454a7ef193ebf4738aa4a85c7f5fb5e56442cd5b04025c6b17aa3fa0b712ffd48a94fde327d7e8e7154211de898cd1f2f402671887841eb8aeff43672df5ffc35539fbc64fbfd1ce2a7423bd1319a3e5e804ce310f083d715dfe86ce5bebff86aa73f78c9f7fa39c54e1089fb100adf3fb8668c49d8fe0c53ba7d1c277a7ff2794f7ef193f0f4738a9b2113f62015be7f70cd1893b1fc18a774fa384ef4ffe4f29efde327e1e8e715364227ec402b7cfee19a312763f8314ee9f4709de9ffc9e53dfbc64fc3d1ce2a6c1062312d2d5c807b012876bfe6c0c5ce952397d0ff956e7cf78c9f88a39c54d720c4625a5ab900f60250ed7fcd818b9d2a472fa1ff2adcf9ef193f114738a9ae4188c4b4b57201ec04a1daff9b03173a548e5f43fe55b9f3de327e228e71535c0f23e2164146868fd609ddf72c64566f555f1a84fcad17e8bc64fc461ce2a6b71e47c42c828d0d1fac13bbee58c8acdeaabe3509f95a2fd178c9f88c39c54d6e3c8f8859051a1a3f582777dcb19159bd557c6a13f2b45fa2f193f118738a9adc0531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70a62d2bdc12d6e6cfa2a2f62b301b6eaae766049cad4c68dc64fc463ce2a6b6e14c5a57b825adcd9f4545ec566036dd55cecc09395a98d1b8c9f88c79c54d6dc298b4af704b5b9b3e8a8bd8acc06dbaab9d981272b531a37193f118f38a9adb8531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70323f8488e93969876f691e23267996a593a86099ad4e0cdd64fc463de2a6b6df647f0911d272d30eded23c464cf32d4b2750c1335a9c19bac9f88c7bc54d6dbe55106ad07b4828d58a6aa08490448290fae3de63b539d77693f118f88a9adb7b36332e4dccf2d462e19b690116e72d1ca20a18c46a7552ee27e231f21535b6f56c665c9b99e5a8c5c336d2022dce5a3944143188d4eaa5dc4fc463e42a6b6dea64df11e40a2dd4435333cbfc51fadc6d346abf0ea9d6efb99f88c7c954d6dbd355d07c74eabe2b3e732dbff09a53e0d51517da1a53af83743f118f93a9adb7a537b35196abded934b321a7d92b05e9a4d6721031a760aae97e231f28535b6f496f66a32d57bdb26966434fb2560bd349ace420634ec155d2fc463e50a6b6de926adf9f0785dde78a994cc75ca275ce8e060a9cc39d844fa6f88c7ca24d6dbd2361d196bbe21e51ccff5fb6b13b49c516b85795843b0a434ef118f9459adb7a454fb586249a9f2651cb85955a6cf1b2281cf1870576162a9ee231f28c35b6f4892b7d64f60ba0cf5b63d152acd0418c4ae6256a07ec2df93ec463e5196b6de91156fac9ec17419eb6c7a2a559a0831895cc4ad40fd85bf27d88c7ca32d6dbd2223a07ec8504e5c0255c0b72ab3764592644d8041cb0b988fc118f9466adb7a443002231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0014d9342d8e6e8ccb40fb618c91c744d275d33582d2d9888d7ca3396ebd2213ff29b2685b1cdd199681f6c319238e89a4eba66b05a5b3111af94672dd7a4427fe5364d0b639ba332d03ed8632471d1349d74cd60b4b662235f28ce5baf4884ffc32dbfa1949d6e911d4a1345c84984e8e5adc081396cde86ce519cb76e9109ff765b7f43293add223a94268b909309d1cb5b810272d9bd0d9ca3396edd2213fee57824111fdbe26ff1f4af96a08bf623417b27c4b5b3945b494672ddca4427fdb3b16dad0d1ded0b60b5c1acc07dcec62dba75493b6742f6a28ce5bba4884ffb502400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed209003939e880908f8df97640186003018e441491b3a80b554672ddd64427fda412007273d101211f1bf2ec8030c006031c882923675016aa8ce5bbac884ffb482400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed201c15ec4b5e6b8bb0ac5d8bf97c5e58139083a5183a825955672ddd65427fda3f382bd896bcd7176158bb17f2f8bcb02721074a307504b2aace5bbaca84ffb47e7057b12d79ae2ec2b1762fe5f179604e420e9460ea0965559cb7759509ff68fc6cc1bb07c9bee03d2fb287c3d950e897305f84bed4146eac396eeb2b13fed1f76595cebc69e043322c2b377fa8fff9290d01657aa82a815972ddd65727fda3ed573df625aa23091c251c96f7485e1a4cc64526f25056a6b3e5bbacaf4ffb47d93a8e44f82aa894f016ff55e6871a5c9438cca9e1a0aef168cb77595f9ff68fb1012ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d84097714e95d9d64bfd6269e2824970918eedd7e020afc3694b7759601ff68fb0812ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d8402383a742b038ceb52f300a7a3fceb9899a1a3c1dafc50d4c77596020f68fb07f47074e8560719d6a5e6014f47f9d73133434783b5f8a1a98eeb2c041ed1f60fe1a20f5b79745bd8c898651e0f5990e2114ab4c73bf15d932dd658084da3ec1fb3441eb6f2e8b7b19130ca3c1eb321c42295698e77e2bb265bacb0109b47d83f66883d6de5d16f63226194783d664388452ad31cefc5764cb7596021368fb07ec5d1a066990906f1c18f8b6ffa3269903519cbf9af8b06d97eb2c0427d1f60fd74646657ff78360effeb795f73cab5a014f7bdb32f1627f30d6580850a3ec1fad189f23acc5694497ca3553e66fb4dbfd4b3a1262e2c6a262acb010a247d83f59313e47598ad2892f946aa7ccdf69b7fa967424c5c58d44c5596021448fb07eb2627c8eb315a5125f28d54f99bed36ff52ce8498b8b1a898ab2c042891f60fd64510b761301aca7761e70c72b740507e50612ef141636b716658085133ec1fac72e2944d2d9bbd1a409a7b64ede6837c4b8683a252c6f122dcb010a277d83f58d5c5289a5b377a348134f6c9dbcd06f8970d0744a58de245b9602144efb07eb1a44b76bf83d51c947f36501336fff070d8de34491b1bdecb82c04289ef60fd6331581309d51061547b3902a5ed65c3615c808e520637d7d715808513eec1fac652b02613aa20c2a8f672054bdacb86c2b9011ca40c6fafae2b010a27dd83f58ca5604c2754418551ece40a97b5970d857202394818df5f5c5602144fbb07eb194381bdd975e932cf569477aeea93fd8a8ec8985001bed8f8bc04289f860fd63277037bb2ebd2659ead28ef5dd527fb151d9130a0037db1f17808513f0c1fac64e6c81cf0a50af368d71e413b29b5d8a9e5e686ffd6fb7e230010a27e283f58c9b6515f6c177c0efd2b08e4f5d2d193d3769133bf7df71686102144fc607eb1935563e462fc5e4625d2de2c6b25090a2697e68d3ecbee474c304289f8d0fd63269388ee50c622b4772288bb55c977f6ccda91403d67dca8d8708513f1b1fac64d1711dca18c4568ee451176ab92efed99b522807acfb951b0e10a27e363f58c9a26e4decde5f0fa0806ef4fd6a545bdb3150926b56f72bda1d2144fc6d7eb1934368ae32699481c3b8aab022cc9f15de5d4d6732aaee59583b4289f8dbfd6326855d6ebd7fff660a2922266d913489e4b54710c152dcb454778513f1b8fac64d0946efd3acd52e970a1113031a5f71f1653a63dea2b96a4cf00a27e372f58c9a1119f2000680bfb0cbeeec2e2cb5420ac5210a194272d63de1144fc6e6eb19342133e4000d017f6197ddd85c596a84158a42143284e5ac7bc2289f8dcdd632684267c8001a02fec32fbbb0b8b2d5082b1484286509cb58f784513f1b9bac64d0845ba258e0dc6009174427995da06e7e23b493261096b39309a27e373858c9a10743570a6e8f2294e655155ab3373b24421568a81e2d68ca1444fc6e71b193420d12c06d89f4a7ac8476f0dd5e64d4707ed713ac395ad3382989f8dce4632684192580db13e94f5908ede1babcc9a8e0fdae275872b5a6705313f1b9c8c64d08324b01b627d29eb211dbc375799351c1fb5c4eb0e56b4ce0a627e373918c9a10642215c4fc7b9fe6db844d12eb1d01abf164dfbdc7d69b654d4fc6e724193420c7442b89f8f73fcdb7089a25d63a0357e2c9bf7b8fad36ca9a9f8dce483268418e14696c9ec4e21e25ddfa73a46a64d7c03fc1531c5a6f39363f1b9c9164d0831b28d2d93d89c43c4bbbf4e748d4c9af807f82a638b4de726c7e373922c9a1063651a5b27b1388789777e9ce91a9935f00ff054c7169bce4d8fc6e724593420c6c2f5dbda2fd7373e6bc99c51b4984e5fcaa4cf4dfd37b6db2f8dce48c268418d75ebb7b45fae6e7cd79338a369309cbf95499e9bfa6f6db65f1b9c9184d0831ae49894f38cc305252bf2d3c651c71bfed55762f7c4def5acce37392319a10635b1f24f71e6ec3275d4b20a0c22f41a7d5572ebaf59be0599ac6e724643420c6b53e49ee3cdd864eba964141845e834faaae5d75eb37c0b3358dce48c868418d6a08a63526916f202cf948ab00b364c75008fd47d36f830a6c1b9c9191d0831ad3114c6a4d22de4059f291560166c98ea011fa8fa6df0614d837392323a10635a62298d49a45bc80b3e522ac02cd931d4023f51f4dbe0c29b06e724647420c6b4c4531a9348b790167ca4558059b263a8047ea3e9b7c185360dce48c8e8418d6981675ab15ed5485876150d8032caa9cfb3c16d933f8324ac2b9c9191e0831ad2f2ceb562bdaa90b0ec2a1b006595539f6782db267f06495857392323c10635a5e59d6ac57b552161d8543600cb2aa73ecf05b64cfe0c92b0ae724647820c6b4bc3fbfb15c4106aef2d74ce8115bb30fd48cf9259cc193fa16ce48c8f1418d69770b91bb65586fe09d7b5ff81aadc447a3c634a7368329982e9c9191e3831ad2ed172376cab0dfc13af6bff0355b888f478c694e6d0653305d392323c70635a5da2e46ed9561bf8275ed7fe06ab7111e8f18d29cda0ca660ba7246478e0c6b4bb45c8ddb2ac37f04ebdaffc0d56e223d1e31a539b4194cc174e48c8f1c18d69768452e0f025d608c8f82c5a9a2d2a2a2370f8ccf65329b26eac9191e3931ad2ecf166e76b191239bd6d2517b3d9ba36c68cb5bfac76537f1d692323c73635a5d9d2cdced63224737ada4a2f67b3746d8d196b7f58eca6fe3ad246478e6c6b4bb3a59b9dac6448e6f5b4945ecf66e8db1a32d6feb1d94dfc75a48c8f1cd8d6976743f860e395f7f616e5f5201e4d3798b410722323829c132b59191e39c1ad2ece70b1e751f956145948b6a2bc19d513e7cba86c06d5384096c2323c73935a5d9cd163cea3f2ac28b2916d457833aa27cf9750d80daa70812d846478e726b4bb39a2c79d47e558516522da8af067544f9f2ea1b01b54e1025b08c8f1ce4d697673458f3a8fcab0a2ca45b515e0cea89f3e5d436036a9c204b61191e39c9ad2ece683df9aaa62c76dc008368e411cb720fc654ae62d238423ac3323c73945a5d9ccf0805adf92f503ab8d397f01b8d424787559f21a1708619876478e729b4bb399d100b5bf25ea07571a72fe0371a848f0eab3e4342e10c330ec8f1ce536976733a2016b7e4bd40eae34e5fc06e35091e1d567c8685c218661d91e39ca6d2ece674402d6fc97a81d5c69cbf80dc6a123c3aacf90d0b8430cc3b23c7394da5d9cce80c6d383fcb662e45064529b0ca82a0700634761408633c77478e729c4bb399cf18da707f96cc5c8a0c8a5361950540e00c68ec2810c678ee8f1ce5389767339e31b4e0ff2d98b9141914a6c32a0a81c018d1d850218cf1dd1e39ca712ece673c6369c1fe5b31722832294d865415038031a3b0a04319e3ba3c7394e25d9cce7852e5dca98cc567083118c3049e882efb0f89bd3d86356b7578e729c5bb399cef31de11ffefed50c82ef7ae01336e85f0cb55d6780c6c7aebf1ce538c767339dd63bc23ffdfdaa1905def5c0266dd0be196abacf018d8f5d7e39ca718ece673ba538aa0ac9617c5d888a4dffcc4183fbdd999b5dd31b38fb0c7394e32d9cce77333279a0602920e68de0fe7f17e8ea7765f75c7b76368c3628e729c66b399cee5664f340c05241cd1bc1fcfe2fd1d4eecbeeb8f6ec6d186c51ce538cd67339dca58b0c0c4e0aabc5b4505c7bdf098c5d42a197ada8da4b18b39ca719bce673b933d73da3697b7fb6e56d1b773d78fb3a3007551b21b4b07177394e3389cce772506fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee490df41a340ba4f328f4d32dbf4afb1e815a59fec26d2f645fce538ce47339dc921be834681749e651e9a65b7e95f63d02b4b3fd84da5ec8bf9ca719c8e673b92437d068d02e93cca3d34cb6fd2bec7a056967fb09b4bd917f394e3391cce772486fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee4906b53fbed90b1b54719f903eca610101051e24823d2f7e9fde538ce48339dc91f62ba5087f7c5ed4600b82fd1427e481b5006ec44a5f177fcca719c91673b923d5186f9bcc5ee5d43ce36879a7b5ab8314c5034864be493fa94e33923ce7724792f204c26623f3d3f6933372ced13985d44e2c50997cacbf629c672489cee48f15e40984cc47e7a7ed2666e59da2730ba89c58a132f9597ec538ce49139dc91e2489389465f5f77b5719304abaaac896fbfcd70235f2cd3d9a719c92373b923c31d396b3995217222afec314f4bb73ada2bdd3c43be5b4bb44e339247e77247853a72d6732a42e4455fd8629e976e75b457ba78877cb697689c67248fcee48f0a00f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c07c02c9957425a1463b769a929d89b1addba685fcb769691c6724904ee48f0980f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c0081522424a8823fe083cc28a93e7d9a887e8e1f9b76b0d1d6724904fe48f097f102a4484951047fc1079851527cfb3510fd1c3f36ed61a3ace49209fc91e12fe205489092a208ff820f30a2a4f9f66a21fa387e6ddac34759c92413f923c25fc40a9121254411ff041e614549f3ecd443f470fcdbb5868eb3924827f24784bf80d647cd17ee4c298509250a134dbc2832ad07b9876b275d7724904ff48f097ef1ac8f9a2fdc98530a124a14269b7850655a0f730ed64ebaee49209fe91e12fde3591f345fb930a6142494284d36f0a0cab41ee61dac9d75dc92413fd23c25fbc6b23e68bf72614c284928509a6de14195683dcc3b593aebb924827fa4784bf78625a25c4c4aeac3cd5eb320b441a502d594a15846b29017824904ff58f097eef50c6a4365fbfdb31789c8c0e7e92c8555ed68705d653a6f149209fec1e12fddd2d9fa11995e2391abdff4014f383b8a569ef6a08aca8f1e392413fd93c25fbb95b3f42332bc472357bfe8029e707714ad3ded4115951e3c724827fb2784bf7724290dd132deb6722c4c3284bc46d0a905400041fb2a56b8f4904ff65f097eee3113412d3323950fd564c788f7f383d1b5442643c654c7b1f9209fecce12fddc5226825a66472a1faac98f11efe707a36a884c878ca98f63f2413fd99c25fbb8a44d04b4cc8e543f55931e23dfce0f46d510990f19531ec7e4827fb3384bf771415b2ef46682d0aa27f29ec73f02010d54e557de02a657cfd904ff668097eee272b65de8cd05a1544fe53d8e7e04021aa9caafbc054caf9fb209fecd012fddc4e56cbbd19a0b42a89fca7b1cfc08043553955f780a995f3f6413fd9a025fbb89c39a9d2e017cad7cbc6158b97775eaea51eee4afe532d8bed827fb3414bf771377353a5c02f95af978c2b172eeebd5d4a3ddc95fca65b17db04ff668297eee26e72b9a42d358de1e6e51c5655d3d8e28f27fb87f64cb7d3b709fecd062fddc4db7185a107417e468596fed4a39e0fed18fc396be999714b6f13fd9a0d5fbb89b56f1d9abb595f0fc2fac3d13f327e022ca4b533d032e43adf27fb341bbf7713696a4d8e238920a23dc24dca765b5a2c53f5acc39d65ca19bf4ff668387eee26d160ad74f3e8a3c7335161bce4ad1280a2979be337cb95d77f9fecd071fddc4da14d6d4294a7aa111e6f89a1c15083293fdb7a226c972d53003fd9a0e4fbb89b4126ecddd625b6a4f4abd96b7a97647a7a6336a0d62e5c4a017fb341caf77136814dd9bbac4b6d49e957b2d6f52ec8f4f4c66d41ac5cb89402ff668395eee26d0227c5d0056d3d168a7c2bd5e253f011e4391cdf55b972cc06fecd072cddc4da034f8ba00ada7a2d14f857abc4a7e023c87239beab72e5980dfd9a0e59bb89b4062b2998c28b56dce1bd757f81461e6f8b90b5d953e5ccd41cfb341cb47713680b5653318516adb9c37aeaff028c3cdf17216bb2a7cb99a839f6683968ee26d01638b8bbb703bdf63ec29c25fd0ed7e628ef19c14c9734f474ecd072d2dc4da02b7171776e077bec7d85384bfa1dafcc51de3382992e69e8e9d9a0e5a5b89b40566ef54788e55a5bb2d736bfec31bdc09e68a9612f5cd575d4b341cb4c713680ab69fce7bea1173a1d7b33a7d059d9a9377d951e5bb9ac8faa66839699e26d0155600c282a1890f6f2c32d7798aa117a69a76c98b4735ac355cd072d34c4da02a94c2aa9010784709d532117294a811ccdfb1b8d65e6b72aac9a0e5a6a89b405512467aaaee56b63f27308564a8b606196a27976c8cd6ff95a341cb4d613680aa148cf555dcad6c7e4e610ac9516c0c32d44f2ed919adff2b4683969ac26d015421db103686c10128198e7812223dfae553628372035c18969d072d3594da02a833b6206d0d820250331cf024447bf5caa6c506e406b8312d3a0e5a6b29b40550602d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d0154160b59993a1a8b32f8c190b2021773853e138ce1f75c1f26a1072d3598da02a82c16b33274351665f1832164042ee70a7c2719c3eeb83e4d420e5a6b31b40550582d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d015416041abec4e7f15b243e5d148196d967bdbe5107b72c1f40e1172d3598ea02a82bf0f6a3149d48de73f9868b82ad18b1fb2766352e283e9c023e5a6b31e4055057d1ed46293a91bce7f30d17055a3163f64ecc6a5c507d38047cb4d663c80aa0afa3da8c52752379cfe61a2e0ab462c7ec9d98d4b8a0fa7008f969acc79015415f40763e2fb7ad1bcb4900be94e82b7258e5f5cf3111f4fa5202d3598f302a82be70ec7c5f6f5a379692017d29d056e4b1cbeb9e6223e9f4a405a6b31e6055057ce1d8f8bedeb46f2d2402fa53a0adc96397d73cc447d3e9480b4d663cc0aa0af9c3b1f17dbd68de5a4805f4a7415b92c72fae79888fa7d290169acc79815415f3802508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde094221920df938033612f380874203828846343bd3efd80f4d663cc4aa0af9bc128443241bf270066c25e7010e840705108c6877a7dfb01e9acc79895415f3782508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde0203471cdb5f602eb2df560006a7e602330a59fba3eff24f5d663cc4ba0af9bbf4068e39b6bec05d65beac000d4fcc046614b3f747dfe49ebacc79897415f377e0ce41fe3ae3a8e64849ba7f9a057a8876ed8dae5fbfe37d8598f312f82be6efb19c83fc75c751cc909374ff340af510eddb1b5cbf7fc6fb0b31e625f057cddf633907f8eb8ea3992126e9fe6815ea21dbb636b97eff8df61663cc4be0af9bbec6720ff1d71d4732424dd3fcd02bd443b76c6d72fdff1bec2cc79897c15f377d85a5456e7ba0b69001680a791fbd8b07199d00a5cbfe5218698f312f92be6efaf40bb067c4a7954b7f9c7771bee0f88dddfe270b67fcbe70e31e625f357cddf5d0d8865a56b552c27c055162fd27d39b66c073d69ff99721d63cc4be7af9bbeb91b10cb4ad6aa584f80aa2c5fa4fa736cd80e7ad3ff32e43ac79897cf5f377d7236219695ad54b09f015458bf49f4e6d9b01cf5a7fe65c8758f312f9ebe6efae46c432d2b5aa9613e02a8b17e93e9cdb36039eb4ffccb90eb1e625f3d7cddf5c86498b3038bb54533d2178af51e31c3616cb6329cf998c5d73cc4be7bf9bbeb8f5543beb3edcd0d1f70f53de232c1aebd85aec136f3332faf79897cf8f377d71d3699d614b1fc9cf6aeb0a3bc5be18575b79fde6ae668035ff312f9f2e6efae396d33ac2963f939ed5d614778b7c30aeb6f3fbcd5ccd006bfe625f3e5cddf5c726679b0ff9e54f6928788b6e965e43dd18ac1d5a899a1b180cc4be7cc9bbeb8e35905baac130c6fdcdbd795cac226a39dc1c6074e334507029897cf9a377d71c53e1dce04fc7b62718475538d7aab6f362fce6a99668bb206312f9f356efae389084df4b6cf59479ad5b0cf12ebb506670bdf312fcd19080d625f3e6bddf5c711109be96d9eb28f35ab619e25d76a0cce17be625f9a32101ac4be7cd7bbeb8e222137d2db3d651e6b56c33c4baed4199c2f7cc4bf34642035897cf9af77d71c44426fa5b67aca3cd6ad8678975da833385ef9897e68c8406b12f9f35eefae388810f1a419cbf6fc6527d31926b1ae8e6b6a356ef9d19224d725f3e6bedf5c710f21e3483397edf8ca4fa6324d635d1cd6d46addf3a32449ae4be7cd7dbeb8e21e43c690672fdbf1949f4c649ac6ba39ada8d5bbe74648935c97cf9afb7d71c43c139f797b361a65e10b5ef12d83d29b55fdedd3cb8c92caba2f9f35f7fae38877273ef2f66c34cbc216bde25b07a536abfbdba797192595745f3e6beff5c710ee4e7de5ecd86997842d7bc4b60f4a6d57f7b74f2e324b2ae8be7cd7dfeb8e21dc290e24868735b1c027bdb16414f302aa9bb0fa596497f9d27cf9afc0d71c43b7521c490d0e6b63804f7b62c829e605553761f4b2c92ff3a4f9f35f81ae38876e304aeac6f33949b86bbced884a2a32a51b06456292618b4af3e6bf045c710edb6095d58de6729370d779db109454654a360c8ac524c31695e7cd7e08b8e21db64d3e03c8a347a9997bb9de191f06f28f185b71874987d12ccf9afc1271c43b6b268e603e1cf1d5eac439e42a346c0d18dcf93f0b9311465a9f35f825e38876d54d1cc07c39e3abd58873c85468d81a31b9f27e1726228cb53e6bf04bc710edaa264bd9a54a29da62ddadb8a0c80e5c5e2027582b4c46bd6b7cd7e0988e21db534c97b34a9453b4c5bb5b7141901cb8bc404eb056988d7ad6f9afc1311c43b6a62541bf41ff09ec43437d0a7b169799732cdfbcaa311c99aef35f826338876d4b4a837e83fe13d88686fa14f62d2f32e659bf79546239335de6bf04c6710eda96211955b4d28a33c4daba51e450bc8dc75fc14ea5c4740abccd7e098de21db52b4232ab69a5146789b574a3c8a1791b8ebf829d4b88e815799afc131bc43b6a561077af80208b51cb37af6f8939505f182b47969411d1cef435f826388876d4ab20ef5f004116a3966f5edf1272a0be30568f2d2823a39de86bf04c7110eda95641debe00822d472cdebdbe24e5417c60ad1e5a5047473bd0d7e098e221db52ac0fcfd4addabd11118a41a441c0e120bc067f109d8e901ba2afc131c543b6a5571f9fa95bb57a22231483488381c241780cfe213b1d2037455f82638a876d4aae3f3f52b76af4444629069107038482f019fc42763a406e8abf04c7150eda955c0a90fe1bac4b0b441ed34a05fd672ddae03ae0e9748281167e098e2b1db52ab71521fc37589616883da6940bface5bb5c075c1d2e905022cfc131c563b6a556e2a43f86eb12c2d107b4d2817f59cb76b80eb83a5d20a0459f82638ac76d4aadc5487f0dd62585a20f69a502feb396ed701d7074ba41408b3f04c7158eda955b835223a679b1336f9b9fac857ccd105a8aff06a944829b568e098e2b2db52ab6f6a4474cf36266df373f590af99a20b515fe0d52890536ad1c131c565b6a556de609b424b42af5e9eb4b1495729a23e9d6c04064e20a879a482638acc6d4aadbb4d48dd435bc13ff53628baa649a2a535844a68994152974a04c71599da955b7526a413338de502a239179d4489a37265b4d72d2f82a6d295098e2b34b52ab6e94d4826671bca0544722f3a891346e4cb69ae5a5f054da52a131c56696a556dd226a2a57b0df68d40b1249d0a1cebf1917f9f10bb0a9cee552638acd3d4aadba34d454af61bed1a8162493a1439d7e322ff3e21761539dcaa4c7159a7a955b746269cee990e3cb7ba91589c206a0dee40aabe9ee92a755d5598e2b35052ab6e8b4d39dd321c796f7522b13840d41bdc81557d3dd254eabaab31c566a0a556dd16268613110f5561a2122898799e95e0fd573cd7a1a9d71957638acd424aadba2b4d0c26221eaac344245130f33d2bc1faae79af4353ae32aec7159a84955b7456262aa4f113b80940156889de70b5abf00935ba83a75e095e8e2b350a2ab6e8ab4c5549e2277012802ad113bce16b57e0126b75074ebc12bd1c566a14556dd15624bcec712542a7b822684f71b934d7bad119460b9d79c97b38acd429aadba2ab4979d8e24a854f7044d09ee37269af75a2328c173af392f67159a85355b745561f060a716b6d2198566765bedb3186e5f0a7742b75e8c9ede2b350a7ab6e8aab3e0c14e2d6da4330accecb7db6630dcbe14ee856ebd193dbc566a14f56dd1556082a8272841709192663bef3632443926ee02caad7a4cbb88acd429fadba2aab105504e5082e12324cc77de6c6488724ddc05955af499771159a853f5b74555620aa09ca105c2464998efbcd8c910e49bb80b2ab5e932ee22b350a7eb6e8aaac4154139420b848c9331df79b19221c9377016556bd265dc4566a14fd6dd155580eba7fd517d3144a3302172e28a261219a4526aa7a4e5f89acd429fbdba2aaaf1d74ffaa2fa6289466042e5c5144c243348a4d54f49cbf1359a853f7b745555e3ae9ff545f4c5128cc085cb8a289848669149aa9e9397e26b350a7ef6e8aaabc01e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee07995d5653ec9425935b85a4edc4c41df9ae454349d281399a853f7f745555dc0f32baaca7d9284b26b70b49db89883bf35c8a8693a50273350a7efee8aaabb81e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee005a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf0b505c242a578a2204fd048da554d3b48e4d60633a536f3550a7eff08aaabb7e16a0b84854af144409fa091b4aa9a7691c9ac0c674a6de6aa14fdfe1155576fc2d417090a95e288813f4123695534ed23935818ce94dbcd5429fbfc22aaaedf85a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf041181aef7bdb24d81c9670d24bab634391186230a53897560a7eff09aaabb7df0e428e8bce18cc6805f3099c8db4ee81ce73205e4a72d2ad14fdfe1455576fbd1c851d179c3198d00be613391b69dd039ce640bc94e5a55a29fbfc28aaaedf7a390a3a2f386331a017cc267236d3ba0739cc817929cb4ab453f7f851555dbef47214745e70c663402f984ce46da7740e739902f253969568a7eff0a2aabb7de8703b4169b7ef49382bf6c1c0d1ad1017937461e1a72eced24fdfe1465576fbcf6c88db804641152824b3ab7999b84829d32b1fc04e5f41a59fbfc28daaedf79d65240fad62e4ad08162d7eeb29ceb84e52989b7d9cc0274c3f7f851c55dbef39565a78079c2bdcc7f92125ce49fb9897517392f83981f2997eff0a39abb7de7138c748bc0eba3c47bf0873948a5559294f2981ed73058933fdfe1474576fbce1718e91781d74788f7e10e72914aab2529e5303dae60b1267fbfc28e8aedf79c26f2f7b9d114b73d6c8e7f64a1fb38c9fe8e863b2cc17c8d0f7f851d25dbef3836a714fe6f8f96a655e96148c35c5413a7e132362983135a2eff0a3a5bb7de70560f4f87ac855578289f2511061e8aa6fa868a2c230640f46dfe1474c76fbce094dfc49a2670d31bce0aaca18ba2f7cd9fd13a18160c9c28ebfc28e99edf79c11280aebf1a47ce6318e1bbc296abd21aea6699effc195291e7f851d34dbef38215015d7e348f9cc631c377852d57a435d4cd33dff832a523cff0a3a69b7de70422c3e087368561b7e0535189da152aeb545e8d7fc0656487afe1474d46fbce083587c10e6d0ac36fc0a6a313b42a55d6a8bd1aff80cac90f5fc28e9a8df79c1063d0a7a7a77baf0afe19a8a6e7ba8e2cfc3e5bbed195ac5ecf851d352bef3820b06274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de704150c4e9b438bb0c82f1ff679a9db5fdb34681ba7ae656e5fb5e1474d4cfbce082a189d36871761905e3fecf353b6bfb668d0374f5ccadcbf6bc28e9a99f79c1054313a6d0e2ec320bc7fd9e6a76d7f6cd1a06e9eb995b97ed7851d3533ef3820a86274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de70415050fc0ce5916f05a9cc2dc295ac5bdb412dfcd6e356e79f5f1474d4d0bce0829f2e0a7277f9408e0b6521ad234f15de7d083c09c3add0e2bf28e9a9a279c1053d5c14e4eff2811c16ca435a469e2bbcfa107813875ba1c57e51d35344f3820a7a443c228cbb64bae5614cdc8532b5a1eecd32830bb7452efda3a6a68ae70414f3148a9dc64d2bf8828f5fe1025bc96bd846a762146e8c01fc474d4d16ce0829e529153b8c9a57f1051ebfc204b792d7b08d4ec428dd1803f88e9a9a2d9c1053ca522a771934afe20a3d7f84096f25af611a9d8851ba3007f11d35345b3820a794306746df3fc246cc47c5300ad4a986bce17d6ca07461b3e33a6a68b770414f2760ce8dbe7f848d988f8a6015a9530d79c2fad940e8c367c674d4d16ee0829e4e4daf7429d56b9de8ebdae823490442ee32380e7ed188738de9a9a2dec1053c9b277141008139be89a47bf83e8866add710b278faa3128b1cd35345be820a79354ee2820102737d1348f7f07d10cd5bae2164f1f546251639a6a68b7d0414f26a29d75caedb497cde5eb608f217f8df56ef0c3fe78c4bd0744d4d16fb0829e4d353aeb95db692f9bcbd6c11e42ff1beadde187fcf1897a0e89a9a2df61053c9a6336fcb6843887631479e4bc05641a55668735b9b3130e5d235345bed20a7934b66df96d08710ec628f3c9780ac834aacd0e6b7366261cba46a68b7da414f269659d1864de4845b7ceb3f56f94f64bd544e0fca69c4c53b49d4d16fb5829e4d2b3fb565489f6b39b1a344d5ea9527a2a34861f0d0898c1a94a9a2df6c053c9a550b7d233e1538f61b134fd3cd20ad6d413d063d9e1319d92a5345bed90a7934a916fa467c2a71ec36269fa79a415ada827a0c7b3c2633b254a68b7db214f269522df48cf854e3d86c4d3f4f3482b5b504f418f6784c6764a94d16fb6429e4d2a45be919f0a9c7b0d89a7e9e69056b6a09e831ecf098cec9529a2df6c853c9a54843e48c8e29f1e46901c364ca0134fc0e7ca635de319f36a6345bed91a7934a8f13db71c92a464b89d04cf18bf8c82017a58ec7b96340114d68b7db244f26951d27b6e392548c9713a099e317f190402f4b1d8f72c680229ad16fb6489e4d2a3a4f6dc724a9192e274133c62fe320805e963b1ee58d004535a2df6c913c9a54742aede6f62894df064f2db457bc9f28b7d8b899c81a022e6c45bed9237934a8e755dbcdec5129be0c9e5b68af793e516fb171339034045cd88b7db246f26951ce37c9f48578b5fed1097cf956e8dacada0f24c31d680a5db216fb648ee4d2a39b6f93e90af16bfda212f9f2add1b595b41e49863ad014bb642df6c91dc9a547366b3a2ac2b93a7dfbf2ba0d5399c95362e8d56872a02b1ac95bed923c934a8e6b6286ae3248d77eafb23a429f29f0cec07ded2ce24057d993b7db247a26951cd5511fb51168118017313aad364a3fc57ba81cb5c180b157286fb648f54d2a39a92e51c2cfa68582e62f3b82648addb2f1fc7bc78001645251df6c91eb9a5473515ca3859f4d0b05cc5e7704c915bb65e3f8f78f0002c8a4a3bed923d734a8e6a2455963eb70788e5089b4318a21d4f3c29e3179fd0592ed487db247af6951cd4316c52083b7539f58e02e8b0c3a080f7fe8a54ff70b277e91fb648f5fd2a39a852d8a41076ea73eb1c05d161874101effd14a9fee164efd23f6c91ebfa547350a5b14820edd4e7d6380ba2c30e8203dffa2953fdc2c9dfa47ed923d7f4a8e6a14423b5cca90ff7d7ece3a8059c69ea3f9f16cdbb5593d9890db247aff951cd42710891241f8617db5693b28ab839b6fee8f1c1367b27cd522b648f6002a39a84d21122483f0c2fb6ad27651570736dfdd1e3826cf64f9aa456c91ec005473509a42244907e185f6d5a4eca2ae0e6dbfba3c704d9ec9f3548ad923d800a8e6a134105aeabc996e7063169f6d541339a76f2522f73a93e84d16b247b00251cd426720b5d57932dce0c62d3edaa826734ede4a45ee7527d09a2d648f6004a39a84ce416baaf265b9c18c5a7db5504ce69dbc948bdcea4fa1345ac91ec0094735099c0ee9ae91a1d605d081c19298902b6373d55a15d19f440cb6923d80138e6a13371dd35d2343ac0ba1038325312056c6e7aab42ba33e88196d247b00271cd4266e3ba6ba468758174207064a6240ad8dcf556857467d1032da48f6004e39a84cdc035fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e0d7f34e7944ac4ef6b4af2f1dee50e655c4c2a27e88826d647b00275cd4266dc1afe69cf289589ded695e5e3bdca1ccab898544fd1104dac8f6004eb9a84cdb835fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e06405a7261b0ed1ae81755715e4af0e507104fe7b888411657b00275dd4266dbf541da6f90c802614cfb0d623bfbc449b8e4c58f41109c6cbf6004ebca84cdb7d344da69eef62cee16c27d43f75d6b131c8db0de522153198ec009d7a5099b6f9689b4d3ddec59dc2d84fa87eebad626391b61bca442a6331d8013af4a1336df25d48f32893edbe3d7d6578f5cdb8ecc1cfae939188566a64b00275ea4266dbe346a43efdfe3dff32c79119e391d0017e4b9f832010ae78ca6004ebd584cdb7c5195ad6a8d2de811d5be85bbf19fe2af74381623d215e9595c009d7ac099b6f8932b5ad51a5bd023ab7d0b77e33fc55ee8702c47a42bd2b2b8013af581336df12656b5aa34b7a04756fa16efc67f8abdd0e0588f4857a565700275eb0266dbe2456e90df36d568ba2ac0905f0c64f7fb4c84d6de60af650af004ebd614cdb7c4739e47493b10f99fd24d833d982fd27643cdd37c915ee455f009d7ac399b6f88d73c8e927621f33fa49b067b305fa4ec879ba6f922bdc8abe013af587336df11a73a42afb9aa0eaac6026f75e0252c58b9fb73b2157bab97d0275eb0f66dbe233735aaea40ba458108d1416b3fb03b311ebb0d23faf7716fb04ebd61fcdb7c46572c7b5f4edab32d8e6ee555fec658e1e83a4007c5eefd1f709d7ac409b6f88c971a1c496b1b8e8699aa2d2b7cf294437b38a5cf5bde147ef13af588236df11916f55e1da39d4538b020bcd6794b0b06a135715e87bc433df275eb1056dbe23216abe1c614a0b29cdd0ddc2c71fbf88ced2f087cdf78a0bbf4ebd620bdb7c4641618e916f6a78d6536e81ad8635dd399852236b98ef15bb7f9d7ac418b6f88c814f2f7b8bab542f5ea9c9830462189b2b5089332ede2d1b003af588326df119012a714fc42d0ae17520592e00ba8f5e514d54c25abc5bda0175eb1065dbe2320154e29f885a15c2ea40b25c01751ebca29aa984b578b7b402ebd620cbb7c4640235d797bd8a8e088c4e2adffae09ba13fe1956567f1710c06d7ac41986f88c8036baf2f7b151c11189c55bff5c137427fc32acacfe2e2180daf588330df1190066370b7a3009aa4e90571a7e378ccacfa3297f19cc5c5d41c5eb10662be23200b52f3c7f2d797cc89d7a977bee7f781ef11723f368b8d4c39bd620cc67c46401531f9e89285921bcb7c191775c64d2bd8cf26da6a171c3c747ac4198df88c802963f3d1250b243796f8322eeb8c9a57b19e4db4d42e3878e8f588331bf119005253f9faf6ecaaf1e5bd2a85cf0f92d75de8ddc5a55c7295d2eb106638e23200a334064e9aafb86683471b33961583d6b67dfde747b8e6cfa6d620cc72c4640145680c9d355f70cd068e36672c2b07ad6cfbfbce8f71cd9f4dac4198e588c8028a5c2b931795441cc4e932f6504c6d82d4a439f91be39ce29c588331cc1190051344697edc00eabc419f2c14988f392da3f4b64e34c73b6939b106639923200a2514e55664d837fb3b0b1e512914d0834295aef8668e787674620cc7334640144929caacc9b06ff676163ca25229a106852b5df0cd1cf0ece8c4198e668c8028925395599360dfecec2c7944a453420d0a56bbe19a39e1d9d188331ccd19005124333d0bd398225c9025b8b1409ce2420f59ba1f3173c557a41066399b3200a247667a17a73044b9204b71628139c4841eb3743e62e78aaf4820cc73366401448e590687fb36ebf4f863a8ecfa69e73038132ad8c2cf1702914198e66dc802891b3e1f68a3443a6ca8941801ecca2c886ad2980d829e2fa9238331ccdc90051235085129f35ed75c08f4f62bd18ab738d0517277023c60f648066399ba200a246910a253e6bdaeb811e9ec57a3156e71a0a2e4ee0478c1ec900cc73374401448d22144a7cd7b5d7023d3d8af462adce34145c9dc08f183d920198e66e8802891a442894f9af6bae047a7b15e8c55b9c6828b93b811e307b240331ccdd1005123481124f7e2c3d843471c28e510a1d1b4ffc369cc20c611088166399ba300a2468f2249efc587b0868e3851ca2143a369ff86d398418c221102cc73374601448d1e4493df8b0f610d1c70a394428746d3ff0da730831844220598e66e8c02891a3c153a17c2f5249cf0ae0d507d04ebcff8c790bd033089e80c31ccdd19051234772a742f85ea4939e15c1aa0fa09d79ff18f217a066113d0186399ba320a2468ee54e85f0bd49273c2b83541f413af3fe31e42f40cc227a030c73374641448d1dc35e316c47f876a3d3d30abe01dbca7c0e8c844168450e4628e66e8c92891a3b76bc62d88ff0ed47a7a6157c03b794f81d190882d08a1c8c51ccdd1925123476e639eb3bed4802bacc188d7786d50c6fe4f636c571145358b399ba325a2468edb534fc02a7f62da114fd7d6e8d0ffb5f74b0934ab228c0f177337464c448d1db532b1d901d52836da6c75d5c9985d93e94254c5534519c22fe66e8c99891a3b696563b203aa506db4d8ebab9330bb27d284a98aa68a33845fccdd1933123476d256d9bcb42b035e217e9d7f1e57d4779fb595714a1468acc099ba32672468eda339c5d2152c693efaca012634a607173a176d3e9128d2fd82337464cf48d1db45738ba42a58d27df594024c694c0e2e742eda7d2251a5fb0466e8c99e91a3b68a7329a10188077ea2f4cac0ca8e7a84e309f75641a34d9a09cdd1933e23476d1372659aafe6717ffdb65ba98d135331c0c0310880469cd8149ba3267d468eda2570dd8e0ca34582b3397d7b121d048b7c2ca46cfd8d3b542a37464cfb8d1db4496dcd74c61ced881e3fc11e1c30673ef3058b35f81a784c556e8c99f81a3b689167ad4239103d92f44c486430572ca5e0b758c7ed34f23cabdd1933f13476d1215b6cdd1ef6dda8a06556f058a4b773bc1af3ebd769e61d58ba3267e368eda24142ec12eac41dd3f8977408a93fcd0f72e22a33abd3cddeb27464cfc7d1db448111ea7e825e9e2aa8fbae394a75f846e07096c354a79d6165e8c99f90a3b6890123d4fd04bd3c5551f75c7294ebf08dc0e12d86a94f3ac2cbd1933f21476d120247a9fa097a78aaa3eeb8e529d7e11b81c25b0d529e758597a3267e428eda24041b664cbfcb53d7ffaa37f24ba6205efe30f876a23cecaf30464cfc861db4480736cc997f96a7afff546fe4974c40bdfc61f0ed4479d95e608c99f90c3b68900e6d9932ff2d4f5ffea8dfc92e98817bf8c3e1da88f3b2bcc11933f21876d1201c6744beab310142b51e85ba5527611fec3406110ee7671d833267e431eda240375a9bd6033865082209d19ca2452067d3144e7e1acecfdf0764cfc864db44806d414a04b3472c92fbe069613c809ef7a0d4df58329da1620fc99f90cab68900d90ea6621364bba8af8d98ea70f79c173c56010c623b446820933f21966d1201b11d4cc426c977515f1b31d4e1ef382e78ac0218c47688d041267e432cda2403623a99884d92eea2be3663a9c3de705cf158043188ed11a0824cfc8659b44806c401456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c0a2b4a3fe1fe41a1cc6bdbfd99f70eeae255f876d127282ccfc865a344806c381456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c02ec6fcaaf6469cd49383e7d195cf16a8d1a1e36a127426cdfc865a354806c37f5d8df955ec8d39a92707cfa32b9e2d51a343c6d424e84d9bf90cb46a900d86fe472e4b58af7cf60a1ad5c73e4d9a829df2c9e9a549d23f38f21968d6201b0dfb1a6eef5e355c6ecc0271b67491932d3691d62f4793a62272e432d1ad40361bf534dddebc6ab8dd9804e36ce923265a6d23ac5e8f274c44e5c865a35a806c37ea69bbbd78d571bb3009c6d9d2464cb4da4758bd1e4e9889cb90cb46b500d86fd45f89d39e8145f917e053db9c82f791af3af3d6399d32b79821968d6b01b0dfa74b25ffe9d8ee74e78d6ddf30fc4d4b59222a08703a671331432d1ad70361bf4d225e5880883f6c86e7a1e659eef8beacf0966cdd74cfca63865a35af06c37e9944bcb101107ed90dcf43ccb3ddf17d59e12cd9bae99f94c70cb46b5e0d86fd32158bbaaef76034d36b4dc15fb24122ae6e9c0f72d340cd8f1968d6bd1b0dfa632b17755deec069a6d69b82bf6482455cdd381ee5a6819b1e32d1ad7a361bf4c6562eeabbdd80d34dad37057ec9048ab9ba703dcb4d03363c65a35af46c37e98c38702e2491642953273432f588673d6e2122d7939a081079cb46b5e9d86fd31770e05c4922c852a64e6865eb10ce7adc4245af27341020f3968d6bd3b0dfa62e6dd3113f1bf328046996f3ce17fb1db330cdba4b6821e5e82d1ad7a861bf4c5b67b87b2b0e48d2c09ff40f94265463610dddd093d0456fd15a35af51c37e98b55b834f02f2f428390cae47204306eebcc7fdfd24a08c83a3b46b5ea486fd31694318f6b2bc4ad329e622b6387c6c05743c3e5646411aab4868d6bd4a0dfa62d1124446124ef8290b990b9468ef3632e324bf08898236fa91d1ad7a951bf4c5a124888c249df05217321728d1de6c65c6497e1113046df523a35af52a37e98b42491118493be0a42e642e51a3bcd8cb8c92fc222608dbea4746b5ea546fd316841e34893f4e23cb149522cb3f700fbf13d23aa04911b9788f8d6bd4a9dfa62d073c69127e9c4796292a45967ee01f7e27a47540922372f11f1ad7a953bf4c5a0e04e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b09c8fb541de35e1442a2a9eb6d3a4893ea59ba428dcf0c7e6b5ea550fd3168361391f6a83bc6bc28854553d6da749127d4b374851b9e18fcd6bd4aa1fa62d06c2723ed50778d78510a8aa7adb4e9224fa966e90a373c31f9ad7a9543f4c5a0d84e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b028a20deeb49863fbf6f0c6aeca02b13951de0025dcf26be7b5ea5510d316835f51441bdd6930c7f7ede18d5d94056272a3bc004bb9e4d7cf6bd4aa21a62d06be2e9a9067a8c412a7a88942b31e68ecdff3ba5c9473cb539fd7a954444c5a0d7b5d3520cf5188254f511285663cd1d9bfe774b928e796a73faf52a88898b41af6467c9a4b7972cd566eeb32c47001db7a7b2bce4ecf2ef2805ea55112316835eb190b8d43c9481d64aa9c8d80d661deefa299f89a9e5f8901bd4aa22562d06bd532171a8792903ac955391b01acc3bddf4533f1353cbf12037a95444ac5a0d7aa642e350f25207592aa72360359877bbe8a67e26a797e2406f52a88958b41af54546ec2cb20a36ddd21aa93fea96d1f77c11220d1f2fdec0eea55112c16835ea734efde4317a95e72101b4ff5493866ea2e669da0e5fd7c1ed4aa22592d06bd4d69dfbc862f52bce420369fea9270cdd45ccd3b41cbfaf83da95444b25a0d7a9a5fd1d1b93507fc800d3367cd1b3fc3a365dcd28097f7947c52a88965b41af5334bb5fc1f40727bb7e72cf7922cddaf4177fc00fe2ff0ccf9a55112cc6835ea65237e50eb57477a279b20171c5019867d9c3a5df95fe33df44aa22599d06bd4c946fca1d6ae8ef44f36402e38a0330cfb3874bbf2bfc67be895444b33a0d7a9921a0b9c5a33806b563946846936c441f11d2bd3e27f8e9bd22a88966841af5323341738b46700d6ac728d08d26d8883e23a57a7c4ff1d37a455112cd0835ea646682e7168ce01ad58e51a11a4db1107c474af4f89fe3a6f48aa2259a106bd4c8c5c6f3b7e7265dd6996fa4b41ac80378395a0fb10fc7682925444b3430d7a991744f0cfa9bb2e3d8afababe7b4f5e9701d784521ef8eea925a88966871af5322d15f3f8004cbefdcdc23ba4ee951b55fe5b4b003af1def64c5112cd0f35ea64592be7f000997dfb9b847749dd2a36abfcb6960075e3bdec98a2259a1e6bd4c8b257cfe00132fbf73708ee93ba546d57f96d2c00ebc77bd931444b343cd7a991643bb218af3c5a7125dea34f6c9f38d7ed869a5dd48ef956638896687aaf5322c703768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a0dda282d3c5d940e28331b44d33f5f56e5dc5e9877d1432044b343d97a9916341bb4505a78bb281c50663689a67ebeadcbb8bd30efa28640896687b2f5322c683768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a069b4db809c3bc39a4ff7dc452a541d690a0845847d15d6054b343d98a991633f5f7c0fae0eda09ec6cb5e0824b0662ccc052e705fa2d500b96687b325322c67d4b0a7808f4169690a631e8fc8c6aed942ce82a08f45c44182cd0f665a6458cf9222748bebe8fafd91929f9f10f3403230612b00ee8ba2c3159a1eccc4c8b19f1444e917d7d1f5fb23253f3e21e6806460c25601dd1745862b343d998991633e214af7ba7d0a1421c316e0fbc332e3486c48d1c38a2ea54c66687b332322c67c3295ef74fa142843862dc1f78665c690d891a387145d4a98ccd0f66646458cf8652bdee9f42850870c5b83ef0ccb8d21b123470e28ba953199a1eccc8c8b19f0c318e35eb5b6c93995836a5d98fcfcc30d0ab3dc217544a34343d999291633e17631c6bd6b6d92732b06d4bb31f9f9861a1567b842ea89468687b332522c67c2e524b305a4414d11d2da0bf5e359d58bdeeef53055d52ccd1d0f6664b458cf85b30a8b9615e8c24f22807a6b46198d9768a210207baa73da4a1eccc978b19f0b5615172c2bd1849e4500f4d68c331b2ed1442040f754e7b4943d9992f1633e16a4eb53e32509316806ce4c2c97cc18dd4d4c6641bea9e9a9387b3325f2c67c2d3297cd5117788afb8a68fad8aefe143a455cf2434d53ed9280f6664bf58cf85a552f9aa22ef115f714d1f5b15dfc28748ab9e4869aa7db2501eccc97eb19f0b4a3205acf2b485419a6704de23b5e3368c037eecd054fd08a13d9992fe633e1693640b59e5690a8334ce09bc476bc66d1806fdd9a0a9fa11427b3325fcc67c2d2654290c77a877892168d9a086cdeb022aba3e0f3e53f5c685f6664bfa8cf85a4b3464719c275194fa9e79690592342c5020be7a79a7ed310ceccc97f619f0b49568c8e3384ea329f53cf2d20b246858a0417cf4f34fda6219d9992fec33e1692a5da41f1d73a8d6a246abcc0e3f2ed93b2f3c45e39fb66834b3325fd967c2d253475a96e7bdb42ffc5a1dc01474bbda710abae7c43f6e746a6664bfb3cf85a4a51ac7867c51cae2b08101a820dfd5dcdcc1b82b857ede8cd5ccc97f689f0b4949358f0cf8a395c56102035041bfabb9b98370570afdbd19ab9992fed13e1692926b1e19f1472b8ac20406a0837f57737306e0ae15fb7a33573325fda27c2d2524624e8c8f64b9983bd4d368fef50d0ee0ba03b828f6f60aaf664bfb45f85a4a4750af71cb9fd5b32f766cf9f5e07845bc2049cc4eededb95fcc97f68cf0b4948d2d713c44160de916b9a01be3b74eb372ecd5f49adbdd16c0992fed1ae16929195ae278882c1bd22d734037c76e9d66e5d9abe935b7ba2d81325fda35c2d2523241d749bd2e9a2712b3469786d398f5c65f9a2e686f75ff0364bfb46c85a4a4630fc0ec273396d0dd335357059d9013876b76b8cddeeda207c97f68da0b4948c51f81d84e672da1ba66a6ae0b3b20270ed6ed719bbddb440f92fed1b41692918a3f03b09cce5b4374cd4d5c1676404e1daddae3377bb6881f25fda3682d2523140a19b9e6731909a16760e024e2dec43607f8226bf76eb43f4bfb46d15a4a4627143373cce6321342cec1c049c5bd886c0ff044d7eedd687e97f68da2b4948c4e2866e799cc6426859d8380938b7b10d81fe089afddbad0fd2fed1b456929189c50cdcf3398c84d0b3b07012716f621b03fc1135fbb75a1fa5fda368ad25231382dadf71407f31cce42d42a46244a6b5b2bc482bc76ece7f5bfb46d16a4a4626f5b5bee280fe6399c85a8548c4894d6b657890578edd9cfeb7f68da2d4948c4de42ca34fcf62ef5f0d816d1108787d5675b5466eedbb543d7fed1b45b929189bb11a6c2a6c2c06e997cf3ca19056dd2c962eb29dab76c2bb0fda368b825231375234d854d8580dd32f9e794320adba592c5d653b56ed85761fb46d1704a4626ea469b0a9b0b01ba65f3cf286415b74b258baca76addb0aec3f68da2e0948c4dd419486de2ec65f783b46478c021ccbe45c39baad2bb630188ed1b45c229189ba73290dbc5d8cbef0768c8f18043997c8b873755a576c60311da368b845231374e6521b78bb197de0ed191e3008732f9170e6eab4aed8c0623b46d1708a4626e9c5655c7c439923ed56fe9edf904c41a28c91fb292db19b04868da2e1248c4dd3738bde83549870062ac9a03e9ffe65c4c3e81c122b6350491d1b45c259189ba6d717bd06a930e00c5593407d3ffccb8987d0382456c6a0923a368b84b231374da6f09f981fc7e84427f2e379ff5f7992ba6496087d8d5b64846d170974626e9b36a264bb0cf5f8b3ccb229737e24d5a51f8d51d0cb1ad10918da2e12f8c4dd365605ef00e75219931630b5667baf8dc9e9dec9616635bc5241b45c260189ba6c94cd038c9c0a5b51a92dcd4c76c4fe137e81b8829c6b92e49368b84c131374d9125b2ca4057adececf27fd186cefdea6a7c796c508d7400936d170983626e9b214b659480af5bd9d9e4ffa30d9dfbd4d4f8f2d8a11ae80126da2e1306c4dd364222dd81ae351a366b96c56e133255d1a49e280d3f35d1a64eb45c260e89ba6c8345bb035c6a346cd72d8adc2664aba3493c501a7e6ba34c9d68b84c1d1374d90617885f65aacb5c6627dbe044bfb56e8d24e290f9d7483d3bd170983b26e9b20b2f10becb5596b8cc4fb7c0897f6add1a49c521f3ae907a77a2e130764dd364165e217d96ab2d71989f6f8112fed5ba34938a43e75d20f4ef45c260ec9ba6c82c485553da2cbd65e90ba52a1df4099c63d356e3cbba438ddf8b84c1da374d90571cbd00612fdd4e89e4107c33de7160c252f023947488bfc0170983b56e9b20ad397a00c25fba9d13c820f867bce2c184a5e04728e9117f802e13076add36415a72f40184bf753a279041f0cf79c583094bc08e51d222ff005c260ed5ba6c82b471fa5bb6554cf706ed4a0996e9e92e0d43c378a0a447a201b84c1dac74d905677007101980fc70c5a75a3b25ca30841533c94d3e4890e80470983b59e9b20acd6c2078dfd85b64431b7a9e438abf302513d4f67991237409e13076b4d364159964534a6c87194b3e03bb647f0bdc8844d3ec48f022488c14c260ed6aa6c82b3154b8ed85e4951933d43cf0f60e173884541aeddd4492bc2a84c1dad64d905661358433b89f8cb51f754009e4128c9903547837b789271c560983b5ad9b20acc16b0867713f196a3eea8013c825193206a8f06f6f124e38ac13076b5b364159826223278f54955735a1c64f8840908c07fe233adb249e1559260ed6b76c82b3035058a7cb7f8d31231052c708777f400aa888d1b3493dceb34c1dad6fd90566052cc3a843d57ce4fded6bb608e55ca80ffd53ff63927d4167983b5ae0b20acc0959875087aaf9c9fbdad76c11cab9501ffaa7fec724fa82cf3076b5c1641598123f20f9bc2c5616af8275001b8bd0c83aa192598b49f6a99f60ed6b83c82b30230a544c252f0eb016d1b0282f0dffb86fef670f1393eef73fc1dad7089056604514a8984a5e1d602da360505e1bff70dfdece1e2727ddee7f83b5ae1120acc08a29513094bc3ac05b46c0a0bc37fee1bfbd9c3c4e4fbbdcff076b5c224159811452a26129787580b68d8141786ffdc37f7b38789c9f77b9fe0ed6b84482b3022831571affc74d8424e7c8aae8d659aef9a2b34d363ef117fd1dad708a0566044f62ae35ff8e9b0849cf9155d1acb35df345669a6c7de22ffa3b5ae1140acc089e516ec4abf398934b6be8d39b4fc4e3e1370f90d5fbc603f576b5c2291598113b2eefe204bd93a94ea497cf2e95e7efbd1a617da8f78dabebed6b84532b3022755ddfc4097b27529d492f9e5d2bcfdf7a34c2fb51ef1b57d7dad708a6566044ea47d1e0bfccb127f25f2564b24dfde6ef15c852a0de3853b0b5ae114dacc089d31bb61a2c6fc4d29c8b10f15c9259f5d8d7d3013ebc724b626b5c229c598113a5376c3458df89a5391621e2b924b3ebb1afa6027d78e496c4d6b84538b302274a6ed868b1bf134a722c43c5724967d7635f4c04faf1c92d89ad708a7166044e9469c32a105489179c254db2dc892dd6c16ada65f2e393ff145ae114e3cc089d275f98accd7f74b1f017618db108b9d57d81f727e2c729a229b5c229c898113a4d4b43b247d54be697fb89435a07d1d2f5b030abc28e54e8546b845392302274992299bd3c80fa4fe7c3d8aeac0601cde60ca3b3821cab74a9d708a7256044e93145337a7901f49fcf87b15d580c039bcc194767043956e953ae114e4ac089d26216794d9eda4bc256dc28e2a80e655f92ded12a0572af76a85c229c968113a4c32cf29b3db49784adb851c5501ccabf25bda2540ae55eed50b845392d0227498659e5367b692f095b70a38aa039957e4b7b44a815cabddaa1708a725a044e930c3fdcc5a3a8c0956eae0d3d3869892491a2cbac28957d5943e114e4b5089d26170bcbe3f427e3ad9528e0a268c970711df1d9b44e2afc5688c229c96b113a4c2d1797c7e84fc75b2a51c144d192e0e23be3b3689c55f8ad11845392d62274985a2f2f8fd09f8eb654a38289a325c1c477c766d138abf15a2308a725ac44e930b45e5f1fa13f1d6ca9470513464b8388ef8ecda27157e2b446114e4b5889d2616848d097ef549d5c0a5ad04e848d6539d9c9dda0dfafc70c8d229c96b213a4c2cf1db3888b7f9d3acc8266c50111289bae3ffd9dbc5f8fbd1b45392d652749859d3b671116ff3a759904cd8a022251375c7ffb3b78bf1f7a368a725aca4e930b3a02e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce60b81eb6b535db7a75984eff0ec025aceb0e34bb9f90261b85392d656749859cc1703d6d6a6bb6f4eb309dfe1d804b59d61c69773f204c370a725acace930b3982e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce6044310f620c3dfd2d65152706b683d4e5ba77179c9027bf86392d656849859cbf14747770eede7d1296f076056365d1c621308b362051230d725acad1930b397d28e8eee1ddbcfa252de0ec0ac6cba38c4261166c40a2461ae4b595a3261672fa51d1ddc3bb79f44a5bc1d8158d97471884c22cd881448c35c96b2b464c2ce5f42fb614344d566b4c8449d823118cb62bb5c6b5ae028abc6c92d6568d9859cbe75f6c28689aacd6990893b04623196c576b8d6b5c051578d925acad1b30b397ce4aeaa97e0bbc2fe9dded88843c9100a9835d32b50a2c95b34b595a3761672f9b21e7aba8eddae28b88a139006f80294db2fcc167145acf6796b2b46fc2ce5f3543cf5751dbb5c51711427200df00529b65f982ce28b59ecf2d6568df859cbe6a13b107508dce0ce5ef4b0bf9b45ecd3178356199516ce19f5acad1c00b397cd327620ea11b9c19cbde9617f368bd9a62f06ac332a2d9c33eb595a3801672f9a64ec41d4237383397bd2c2fe6d17b34c5e0d5866545b3867d6b2b47002ce5f34c299a933144d2e9e7471e87c5995491866ded68c78b68b0fbd6568e0159cbe6975335266289a5d3ce8e3d0f8b32a9230cdbdad18f16d161f7acad1c02b397cd2e327ca571e9ae2a54e940470e5bb06e1463f7ff1b2da467f0595a3806672f9a5b64f94ae3d35c54a9d2808e1cb760dc28c7effe365b48cfe0b2b4700cce5f34b65604ee747d1b2c0b71c74431651fe04c3c225869b69343c26568e01a9cbe696b381c3595d098daceb054b05ac09de89324870cd06d282b85cad1c036397cd2d570386b2ba131b59d60a960b5813bd126490e19a0da50570b95a3806c72f9a5aa6c832f0418c5edf28e18e962f8d5ca473e5e8f3eb4a252182b4700d9e5f34b536518b6b507ee5e9ce8f7fabde809bc8928ff7a7a69464831568e01b4cbe696a55643c616e63f3ff19eb61d73c671a10cfe4150f1d28e3463ad1c036a97cd2d493899e4daa2e1029b0a3262df83416a14a8c4fde0a51e0cc85a3806d62f9a5a917133c9b545c205361464c5bf0682d4295189fbc14a3c1990b4700dac5f34b5226e79ec1761e68d23f58fb3760363d04d4f56537f9479d72268e01b59be696a43690630db9a2f9cffb7e58ee3fd25c8954aef02fc28f55245d1c036b47cd2d4855e1eba640ac1bcb73c9145bff0a9b925422061f551ec488ca3806d69f9a5a909484fcd74ebe5fc2645e8b377d7b19a4530831fe7a3da351a4700dad4f34b52111cb1f396ae2e7b0458978ee7a5c15c850d489bcc47b60e358e01b5aae696a4213963e72d5c5cf608b12f1dcf4b82b90a1a9137988f6c1c6b1c036b55cd2d484272c7ce5ab8b9ec11625e3b9e9705721435226f311ed838d63806d6ab9a5a908471a1f56247d65ada91829f3524690c2316873a5f3db215ad700dad5834b521076f564371660f386cefcb66623f304040d950d0bb7b65cf5be01b5ab1696a420d6abedf8fa280f391ac5cf4bc74bea87c5ee3fd73f6cd42b8c036b563d2d48419619017cc1b6469db25801170dfdb78f36a0a56e4ed9c2972806d6ac8a5a908314f3288450d2b566e17c64ad9b61519e1805709c6db39f6e600dad5924b5210612a776936f0b92f93fc52bdab62885bbdacf06f8ab67591cd01b5ab2596a420c154eed26de1725f27f8a57b56c510b77b59e0df156ceb239a036b564b2d48418235effd8899474107be111ea5807f96f160041a27d9d7eb3506d6ac975a9083036bdffb11328e820f7c223d4b00ff2de2c008344fb3afd66a0dad592eb521060663d24ecf3b7f86d6c50aa28df85c83c02c52c49c676150d51b5ab25e6a420c0b53b6f64b4d61906556db6d13e7172f7b04e7e535cec445ab36b564bdd4841815338045437125a3827a7d021fc48c86f0b61226689d8a2f576d6ac97ca908302967008a86e24b4704f4fa043f89190de16c244cd13b145eaedad592f9521060525a136dba9af910c1b6ba3077089043bd848af59f762a615eb5ab25f3a420c0a3403934220c54a43b3a3a88e6077eaf75b558473bec5666be6b564be8484181450c84c0f0ef0bcb2e413b39c4055b86e616f2ea74d8ae717dd6ac97d190830289190981e1de17965c827673880ab70dcc2de5d4e9b15ce2fbad592fa321060512321303c3bc2f2cb904ece710156e1b985bcba9d362b9c5f75ab25f46420c0a2464260787785e597209d9ce202adc3730b79753a6c5738beeb564be8c84181448545e67bbc71f359be079c4384c16965c1b71034a8ae8bbde6ac97d1a0830288f34cf282464a0edef8db9b0688e8b54b2e324629215d31bbdd592fa351060511d699e5048c941dbdf1b7360d11d16a965c648c5242ba6377bab25f46a20c0a23a5f4ef93e68e63a7603ace99a308b7ac638d3e645574e12f8564be8d5418144734ab04b29a82ef7a3d41ffb2c57751d871dea2887ae9dc9f1ac97d1ab830288e52172ef0026c071ff75061e50a5486308e816ad0c5d3d37e4592fa358060511c942e5de004d80e3feea0c3ca14a90c611d02d5a18ba7a6fc8b25f46b00c0a239211de14ad71644ab5a0dea13a8b7fb41e4c9d102e74f6839264be8d611814472323bc295ae2c8956b41bd427516ff683c993a205ce9ed0724c97d1ac230288e46477852b5c5912ad6837a84ea2dfed079327440b9d3da0e4992fa358460511c8c1b02fe186184d864d3bb31cc525bc8ed112add70a7b5c09425f46b09c0a239173605fc30c309b0c9a7766398a4b791da2255bae14f6b81284be8d6138144722e6c0bf861861361934eecc731496f23b444ab75c29ed7025097d1ac270288e45c642a496fe28945de6a9fb65a893c6f63359947823dafa8a22fa3584f0511c8b75466eb8c9b750e74a20594ad08d706c11774eb017b60f5455f46b09f0a23916d34e02fc60d4c9fa110d15152080c357cdb2c31fff6c38e8bbe8d613f144722d969c05f8c1a993f4221a2a2a410186af9b65863ffed871d177d1ac27e288e45b25f9317c50b95013c100b6d40168efdee18f323fcdb0fde2ffa3584fd511c8b634b388836ed8c852fecdd0278237c23d6de28a3f6b6216060f46b09fba23916c52283691ab17b8d17a6802ce83d566fa86893a3ea6c4464c2e8d613f844722d894506d23562f71a2f4d0059d07aacdf50d12747d4d888c985d1ac27f088e45b12161ffd179c50b71666c6db98ebb7e69c4e90eba6b113370ca3584fe211c8b6232c3ffa2f38a16e2ccd8db731d76fcd389d21d74d62266e1946b09fc423916c46587ff45e7142dc599b1b6e63aedf9a713a43ae9ac44cdc328d613f884722d88c3d124169b8e83b6b02fd04bf541d5cdd20c9b932889b5c661ac27f118e45b1170636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d0c6db7009065f31ba58062ed3d31c369dbab9cc42270b99a6b09fc483916c45a18db6e0120cbe6374b00c5da7a6386d3b757398844e17334d613f890722d88b431b6dc024197cc6e96018bb4f4c70da76eae731089c2e669ac27f120e45b1168636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d052edc8b5dcc1b47224cc56cbc97a5e9866fc283f270d3da7b09fc484916c459f31edea188fe5eb9c165ed58f8952e52b7a3aac7b4e1c1f50613f890a22d88b3d63dbd4311fcbd7382cbdab1f12a5ca56f47558f69c383ea0c27f121445b1167a53ca010f15fa312826417e361ba9bca8952d0dea3872214284fe24298b622cf333a65acb0256e508194924642db1a14bd69c77d170e5e68609fc485416c459e5674cb59604adca10329248c85b634297ad38efa2e1cbcd0c13f890a82d88b3ca5aabc3d8dfbe16d831eab988ad24ad2a06b43b42c3993e1927f121515b1167934169e05e95deb068309b9b0950a7824eb9aad282873420334fe242a3b622cf250ee6196a021fe3882dfd5e0a97ad2c981f9801020e69e4679fc485486c459e491dcc32d4043fc7105bfabc152f5a59303f3002041cd3c8cf3f890a90d88b3c923b9865a8087f8e20b7f5782a5eb4b2607e60040839a7919e7f121521b1167924034323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e0d0c8ff39d867be4f2c46132cf1e32eea4099035cd431cf7f890a91188b3c91c1a191fe73b0cf7c9e588c2659e3c65dd4813206b9a8639eff12152231167923834323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e05cdb57e6aeca4106f90c3b24e84156e4ecdb5f59d4337380890a91198b3c91bf45c9087a33f704c5bede9e41c6e0d5c485f91ab0a8688b02121522341679237d17a469a13e508c434a83647b841fd383b834915e50d2ba05242a44692cf246f92f48d3427ca118869506c8f7083fa707706922bca1a5740a485488d259e48df25e91a684f942310d2a0d91ee107f4e0ee0d24579434ae81490a911a4b3c91be44935a5b6c8e6e4d220e14bd4175cc4186de6e6ef8697742a2152234a679237c71e7da41a68304c5c0e88bfa02517b02b881029dc0d308c5542a44695cf246f8d3cfb4834d06098b81d117f404a2f6057102053b81a6118aa85488d2b9e48df1a0608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be330c11d22cee4768500dd24cf11579d151990606da6987aaac152234b079237c661823a459dc8ed0a01ba499e22af3a2a3320c0db4d30f55582a446960f246f8cc304748b3b91da140374933c455e7454664181b69a61eaab05488d2c1e48df198608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be3304d2f7b7bbad907b8a9eaf7094dfb3d143ca2c9a3987c4ec252234b089237c65f26714fa44c149229209c160a9254a2232587ef4430fa4185a4469612246f8cbd4ce29f489829245241382c1524a944464b0fde8861f4830b488d2c2448df197a25d7973e06b4cb5c4f3680223fb0b0874262190dc3eaaa17911a584991be32f34baf2e7c0d6996b89e6d00447f61610e84c4321b87d5542f2234b093237c65e62370b5a4f135b02909a02880f520ea17b5cac0340fac4c5f4469612746f8cbcb46e16b49e26b605213405101ea41d42f6b9580681f5898be88d2c24e8df1979619d52f409b39435bf346c9fbcae1d059836d5ccd3eb2d57e11a5849e1be32f2b33aa5e81367286b7e68d93f795c3a0b306dab99a7d65aafc234b093c37c65e566754bd026ce50d6fcd1b27ef2b8741660db57334facb55f8469612786f8cbcac5abbd2b1b02c9d9766fc77d64d6caac6c7ad4266f5984ff18d2c24f1df1979574189fe1036bbbde69abf17a491377d883b9ce0caeb3243e41a5849e4be32f2ad0f2654cd43d9fe850244574118cd230b237c1d92d6662bc934b093ca7c65e5591e4ca99a87b3fd0a0488ae82319a461646f83b25accc579269612794f8cbcab23c9953350f67fa1409115d0463348c2c8df0764b5998af24d2c24f29f19795640544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac70a89fe2dea64edbfbdd1c401798e80a790469127666604954b093ca9c65e558e1513fc5bd4c9db7f7ba38802f31d014f208d224ecccc092a961279538cbcab1c2a27f8b7a993b6fef7471005e63a029e411a449d999812552c24f2a719795638544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac7034b23b8b7cb15eb3a9e2680f8f463273b0ab6e736661ed55b093ca9d65e558df69647716f962bd6753c4d01f1e8c64e76156dce6ccc3daab6127953acbcab1be5edb46dac927fd86744fc8363376f1c96ef015ca99895957c24f2a769795637b49c8e66268b27dc4b565b8645d4c0b8d8a228792331456b0849e54ee2f2ac6f51fa42571a7c77e41379198c0b0f63f15c0876b21662a5162093ca9dd5e558de93f484ae34f8efc826f23318161ec7e2b810ed642cc54a2c4127953babcab1bd20aa2ee7375807bbcab0c8afaba372451ae60088298aae98924f2a776795637a31545dce6eb00f779561915f5746e48a35cc011053155d31249e54eecf2ac6f462a8bb9cdd601eef2ac322beae8dc9146b980220a62aba62493ca9dd9e558de8c5517739bac03dde5586457d5d1b9228d73004414c5574c4927953bb3cab1bd1836413fe42e6a3e827d8ed7a399d06d159242e4268ab03c934f2a776895637a2f6c827fc85cd47d04fb1daf4733a0da2b2485c84d156079269e54eed12ac6f45e6517583d900b7cc1c30186865d9fdc50f54dec972ac2964e3ca9dda3558de8bb56410927f6797c3b52c93504b19de09c96de352b5586d09d7953bb47ab1bd17538946afcc3557b2e725892015999e933d9fec653ab0f453bf2a776905637a2e97128d5f986aaf65ce4b12402b333d267b3fd8ca7561e8a77e54eed20ac6f45d26e64049fe3b86f7196286ffd5cc5ccca143d754bac3eb8f0ca9dda4258de8ba368da61ec9dd3619af91707f2afe9c18ed4bd4694587f15e2953bb485b1bd17455dc71c86120945edbef437dd5631ab1855bce925b0ffcfc62a77690c637a2e8947a091b8fa750e934aae97b2a2c17e2b57bc2e486201438d54eed219c6f45d111b537c1ecb4c9fde6223575d3be124515bbab88dc4042b1ba9dda4348de8ba2136a6f83d96993fbcc446aeba77c248a2b775711b8808563753bb48691bd174426d4df07b2d327f79888d5d74ef8491456eeae2371010ac6ea77690d237a2e88466ae39a330c781aadde0e2e1d5674a858a18206b2022fcde4eed21a56f45d107596ecbf337f1860d8887edbba12cbd05c0729cd340479dbd9dda434bde8ba20d3eeff09346458ed2ddd6036f38b7a2062d2795a38090df7c3bb48698bd17441909f239d362eda05d88722ed667cd6c0706918744012362f977690d327a2e883113e473a6c5db40bb10e45daccf9ad80e0d230e880246c5f2eed21a64f45d106227c8e74d8bb6817621c8bb599f35b01c1a461d10048d8be5dda434c9e8ba20c44f91ce9b176d02ec439176b33e6b6038348c3a20091b17cbbb486993d17441882b35f5e3053c889053e9155e7334e86b155ad03d1237d3987690d328a2e8830f566bebc60a791120a7d22abce669d0d62ab5a07a246fa730ed21a65145d1061e38ea3038eb54a4f91c6a7d71c331c9a701ad9cf148e0f262da434ca38ba20c3b71d46071d6a949f238d4fae38663934e035b39e291c1e4c5b4869947174418766fbb199083b5169c3e701dbf03254e96b2f8cfc223856d8c690d328f2e8830eb6b888bcdddccaff049a66375fca8c5281233fb81470c7f19d21a651f5d1061d56323704891fbe2986012eee3efafb24ad0aa52ff8e1aa234a434ca3fba20c3a95259393dfa5a47e88cec05bfd5bd8c904d9701fc1c36e86a486994807441875130c4cb28cb171288e69e3377a1d9411b47705ff5386f74d590d32901e8830ea161899651962e2511cd3c66ef43b282368ee0bfea70dee9ab21a65203d1061d424f25855002beccdb673ef5d67dc32c67ca03dbd1e1bf7757434ca408a20c3a832a5d634cdbe01c6e9b4413a4f1e480ca404a13a0c38092af869948124418750554bac699b7c038dd36882749e3c90194809427418701255f0d3290248830ea0a3587e5e045e2f47239d6768bbdf02b23ad6aaa800e03eebf1a65204a1061d4136b0fcbc08bc5e8e473aced177be056475ad555001c07dd7e34ca409420c3a8266231f02dedee5480b4200226ee1ed48961ed05fd38115efd699481294187504b50763908b23f2bb935062c45d29bd10d701c67f7702461fbd3290253830ea0952cfecabe3ae0da2a36d280839b95ca158c7b2bebe04a67f8a65204a8061d412959fd957c75c1b4546da50107372b942b18f657d7c094cff14ca409500c3a8252400d83a5c1e5eb60a8102a0664b55050de2f0bac812b43e3994812a1187504a30c2d5ff85a2e59791ce67c04bfc8c89c68a0735602582bc83290254330ea0945185abff0b45cb2f239ccf8097f919138d140e6ac04b0579065204a8661d4128a30b57fe168b965e47399f012ff232271a281cd580960af20ca40950cc3a82514616affc2d172cbc8e733e025fe4644e345039ab012c15e4194812a1987504a284ee8583279481a499b2de843f2eab1c13649915d25846084290254340ea0944f29e30911c8f2b74b0321f87fdc338b7d18d57eb74b0a65095204a8691d41289d53c6122391e56e960643f0ffb86716fa31aafd6e9614ca12a40950d23a82513a339e7cf3fa2d5fe3d94e09f7672c55ef0f9856da2c2b38264812a1a57504a273673cf9e7f45abfc7b29c13eece58abde1f30adb45856704c9025434aea0944e65a8c4c7cbf18024731fe4fd5930f7fb6eaa3b765b0ae849a204a8696d41289cb412af1a65492874630c2c7a31c7d27688189cac8615ead3540950d2ea82513950e683bf97f8791442e4bb73e2f5876cbaf55f18dc2befe6b812a1a5e504a27291cd077f2ff0f22885c976e7c5eb0ed975eabe31b857dfcd7025434bca0944e5239a0efe5fe1e4510b92edcf8bd61db2ebd57c6370afbf9ae04a8697941289ca47341dfcbfc3c8a21725db9f17ac3b65d7aaf8c6e15f7f35c0950d2f28251394872961844cedb96fab1819bdaebe594b5a1a174d92bf18ab912a1a5e604a2728f713e89367419b0ad2fc95fadce295165ef8545af57e4b97325434bcd0944e51d6e8f6b19be95e4122c58e75392b0cac68b4ce75bafcb16e74a86979b1289ca3969312ee0538e4adc2577f69f1bbfbd87c2dc2ab45f97d1cf950d2f37251394715e74b66d7d7f187017b615362ddda30a31fab165bf3147a02a1a5e6f4a2728e148fbc587d160b397fc32526452196e0f1037bec87e6433415434bcdf944e51c11e09e3bc7923e9e7c52accc09a910418ccb1d98dfcca0a83a86979c0289ca3813c13c778f247d3cf8a559981352208319963b31bf994150750d2f380513947020439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030873cf3d75e454adc2e2b5f4c14470bbbe138469e6539c1f434bce0344e51c0610e79e7aebc8a95b85c56be98288e1777c2708d3cca7383e86979c0689ca380c21cf3cf5d79152b70b8ad7d30511c2eef84e11a7994e707d0d2f380d13947018439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030134f4c8434a7cd93faf187440aa533b68d7aa29b653b65f534bce0354e51c05f269e9908694f9b27f5e30e88154a676d1af54536ca76cbea6979c06a9ca380be4d3d3210d29f364febc61d102a94ceda35ea8a6d94ed97d4d2f380d53947017c268cbcce7ba0ef57a45262184b87c5af181770d829dcd3aaa5e701ab728e02f74d19799cf741deaf48a4c430970f8b5e302ee1b053b9a7554bce0356e51c05ee26454be6c4e640165e0fb059247d3eb70ca01f5da774f2ab979c06aeca380bdb4c8a97cd89cc802cbc1f60b248fa7d6e19403ebb4ee9e5572f380d5d947017b625278847e9fb83114504e95c885322d6dec2d9739dd56eaf5e701abc28e02f6b4a4f108fd3f706228a09d2b910a645adbd85b2e73baadd5ebce0357851c05ed620b079cc7e508efce0d9cd6a17aab356274dc1cb77575ebe79c06af1a380bdab4160f398fca11df9c1b39ad42f5566ac4e9b8396eeaebd7cf380d5e347017b560ed43fdecfa4beab502d5da05508f5534979632add5f1efae701abc78e02f6ab1da87fbd9f497d56a05abb40aa11eaa692f2c655babe3df5ce03578f1c05ed563b50ff7b3e92faad40b576815423d54d25e58cab757c7beb9c06af1e380bdaac02b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae0ad15e8d4e21e04938c453ea7a974a53e035d54fabea6f60e03578f5c05ed55c15a2bd1a9c43c0927188a7d4f52e94a7c06baa9f57d4dec1c06af1eb80bdaab82b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae039284181b880874b590b669f9fd2cd38af9fb0f7bea89a0f03578f5d05ed55bf7250830371010e96b216cd3f3fa59a715f3f61ef7d51341e06af1eba0bdaab7e70b35eb3b8649fe530f3c27675a95cdd6ac11fdbfaa40c3d0d5e3d7517b556fb6d791614472bc2822eadace4e1b0e1b581c49bb4f549bc7b1abc7aeb2f6aadf5670484d564ba07bc2a2181c1b9bfeb65afcb9366ea951cf73578f5d75ed55be95a1b62579fd6923021092b7b69ddfec60bd982cad52bddef6af1ebafbdaab7d140491d5c160fa7180ed87eeeca1a2586c3f56192aa595fdfd5e3d7607b556fa10ca493650281d0e7ea7725d58a927308342d1f2254b463c0abc7aec1f6aadf41194926ca0503a1cfd4ee4bab1524e610685a3e44a968c781578f5d83ed55be8232924d940a07439fa9dc97562a49cc20d0b47c8952d18f02af1ebb07daab7d0465249b28140e873f53b92eac54939841a168f912a5a31e055e3d760fb556fa08565b8efcfe7f9136743885509f85587def144e224b47e00bbc7aec206aadf40f38c976a6d361a524b53732993568d8f68a6af8419691641878f5d841d55be81d7192ed4da6c34a496a6e65326ad1b1ed14d5f0832d22c830f1ebb083aab7d03a6f38334823e9174aa1a2f25ccc018bd4d5ee3d035a473462e3d76108556fa0736a82bf3d1e34b14d100c0cb18e613fa4581ed603b4900cc6c7aec211aadf40e56117d72712cbe551ecde415b1320a7435c8008046921bd8e8f5d842455be81c94e4206fafbfa4d5ba682aaae1c9f768165426c05d2451f1e1ebb0849ab7d0391289666a2ce571d6f19cb7d542f9d14fd76c73408a48be23d3d76109456fa0721512ccd459cae3ade3396faa85f3a29faed8e68114917c47a7aec2128adf40e422e6bf3380fbef87433f41d48b4d27bf0875f2c1f92312cf5f5d842525be81c835cd7e6701f7df0e867e83a9169a4f7e10ebe583f246259ebebb084a4b7d0390645c2258d155e64889c969d1ac9a817bcc9bf0c7b48c657d8d761094a6fa0720b1796a3c7011f4bc905f3622d89ae57743fc074f3918e53b2aec21295df40e4152f2d478e023e97920be6c45b135caee87f80e9e7231ca7655d84252bbe81c82a5e5a8f1c047d2f2417cd88b626b95dd0ff01d3ce46394ecabb084a577d03905448c776e4df5ce0fffc61396443d0e39caa4603998c744196761094affa0720a71da14676951c44b7c5889ac07dffef3400ce633018ea272dec212960f40e414d3b428ced2a38896f8b113580fbffde68019cc66031d44e5bd84252c1e81c829a029772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a660a5dca1cab4e565b8ba24be7b977932abdefa2f58ea902e2c212961340e414cc14bb9439569cacb7174497cf72ef26557bdf45eb1d5205c584252c2681c8299829772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a66031eefa778b47e87086eae6738dd75aa68b3c8b55ea91d22d212961350e414cbf63ddf4ef168fd0e10dd5cce71baeb54d167916abd523a45a4252c26a1c82997e53ce428b03822479e871c1c62dbb9294d9348954aa48ecb584a584d5390532fb33aeddc2dd66cbab9da9ab8451d54d245eab6ea654937d6c094b09ab720a65f5675dbb85bacd97573b535708a3aa9a48bd56dd4ca926fad812961356e414cbea5acdcfb84bfdb166436cd6093db35c8c26f01696524f99b1252c26aec82997d341adf81d6e5de584539fd40a71c4e112fa228929a4a0d7634a584d5e90532fa50f6e48e7b31e4dc07405d00cd9e7ea20a0876e50494352c794b09abe20a65f491edc91cf663c9b80e80ba019b3cfd441410edca09286a58f2961357c414cbe923db9239ecc793701d0174033679fa882821db941250d4b1e52c26af882997d2407849fea6f54f0bb6cf4a85ec59d78ffb07dce7f4a1c3a3da584d5f20532fa470f093fd4dea9e176d9e950bd8b3af1ff60fb9cfe9438747b4b09abe40a65f48e1e127fa9bd53c2edb3d2a17b1675e3fec1f739fd2870e8f6961357c814cbe91c3c24ff537aa785db67a542f62cebc7fd83ee73fa50e1d1ed2c26af902997d238045c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f08b8aea797631cdd38215bc8a06b6feb683e87e3438a8fb6b09abe42a65f48de11715d4f2ec639ba7042b79140d6dfd6d07d0fc687151f6d61357c854cbe91bc22e2ba9e5d8c7374e0856f2281adbfada0fa1f8d0e2a3edac26af90a997d237845c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f0179d43264c94508b4edbe481fd1526b1302ada3138aa9f6c09abe42b65f48ddf2f3a864c9928a1169db7c903fa2a4d626055b46271553ed81357c856cbe91bbe5e750c993251422d3b6f9207f4549ac4c0ab68c4e2aa7db026af90ad97d2377c48fc71df3b05071243a54c07df075d842d992d86c5569f614d5f215c2fa46ef71e0b3c6b4c6c90dc5410c007b46ce3030774b70a8aaee2c39abe42b95f48dded3c1678d698d921b8a821800f68d9c6060ee96e15155dc587357c8572be91bbda043f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3087e94b410298c523a12502d9023680d942a704e557a5e1ed5f215ccfa46ef6610fd2968205318a47424a05b2046d01b2854e09caaf4bc3dabe42b99f48ddecc21fa52d040a63148e84940b6408da03650a9c13955e9787b57c85733e91bbd9843f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3013fba3edd8fb47db6deb2ad0f894a8d3eee960e257a785ee5f215cd0a46ef65f27f747dbb1f68fb6dbd655a1f12951a7ddd2c1c4af4f0bdcbe42b9a148ddecbe4fee8fb763ed1f6db7acab43e252a34fbba583895e9e17b97c85734291bbd97c2bef781b9e3cc1933c1f7e7fbb036e9a238d630fbd3dd373f90ae6862377b2f757def0373c798326783efcff7606dd34471ac61f7a7ba6e7f215cd0c46ef65ee3bd0391b4f558904bd4421f6e26be2633a77e83bf4f8f1d0e42b9a198ddecbdb03b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b5076595c6ea1b29828e9cd7cb766bd982426458e9d3e70f4590ae6868377b2f6a0ecb2b8dd43653051d39af96ecd7b30484c8b1d3a7ce1e8b215cd0d06ef65ed41d96571ba86ca60a3a735f2dd9af6609099163a74f9c3d1642b9a1a0ddecbda83b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b50026bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e09aed46de0546b82da4e92bd746f007b4a1faa68f9ca61682b9a1a11decbda7c135da8dbc0a8d705b49d257ae8de00f6943f54d1f394c2d057343423bd97b4f826bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e026ff9f8adba93ae571af53cf3d4e2faf4e3d028c9ca7ba83b9a1a11eecbda7bf4dff3f15b75275cae35ea79e7a9c5f5e9c7a0519394f75077343423dd97b4f7e2810d6d845076e4d93837734eb96e6b7e536662f72a08e0fe686847cb2f69efb5021adb08a0edc9b2706ee69d72dcd6fca6ccc5ee5411c1fcd0d08f965ed3df62c55b40dea803bee1ad404cba4b9c2da411bf4baca83dc409a1a11f3cbda7beb58ab681bd50077dc35a80997497385b48237e9759507b881343423e797b4f7d63d6928e48063727038163b2689453363b0b22ee82a111503686847d02f69efab06e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df550dc954ebae52cf3079e53c8a11d11d841b4d739aa8479c0fa1a11f42bda7beaa1b92a9d75ca59e60f3ca791423a23b08369ae735508f381f43423e857b4f7d54372553aeb94b3cc1e794f228474476106d35ce6aa11e703e86847d0af69efaa86e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df55068a7a767bb8f75bf6b19f0991370003c611995a7847b64fb1a11f42cda7bea9f5d61a77c4d816e36a2fa092a1d3e28736e75874c08f86df73423e85ab4f7d53d46d5a7a571655f2512ba3a4c30da78e1892d6a9511f27fef6847d0b669efaa7919bda7f7b92d4101f23a9c90581319bdbe9d312723e6a3dfd08fa16dd3df54f1337b4fef725a8203e4753920b026337b7d3a624e47cd47bfa11f42dba7bea9e266f69fdee4b50407c8ea7241604c66f6fa74c49c8f9a8f7f423e85b74f7d53c459ff986a9fcc8ac75e9b0c7ab6f6f5e8a12be5361f36c2ff847d0b6f9efaa7874011898215fb984689fc40ed644c13cbee9a26693e6f2a0008fa16e03df54f0d0c356bb10259b344e0bea9d2bef64f928976a8cf7cdff80111f42dc17bea9e19186ad76204b36689c17d53a57dec9f2512ed519ef9bff00223e85b82f7d53c3230d5aec40966cd1382faa74afbd93e4a25daa33df37fe00447d0b705efaa786461ab5d8812cd9a2705f54e95f7b27c944bb5467be6ffc0088fa16e0bdf54f0c84f6913bcfbfdb705d8b0c523e5c3212343ace8f4ce0124121f42dc18bea9e18f2ae48026ce5df0c37e27b23fc1e46a41339c2de69c03ec253e85b8327d53c31d55c9004d9cbbe186fc4f647f83c8d48267385bcd3807d84a7d0b7064faa7863a37a459480fda45c5c564f0f6fdefd0ff7ab3139770115495fa16e0caf54f0c736f48b2901fb48b8b8ac9e1edfbdfa1fef566272ee022a92bf42dc195ea9e18e66aa3bdcd15cb99cee259ebd3ee1d6bf8970eaa5ac046f658e85b832cd53c31cb6159d44701f9b6559179ff9fd298ffebda5fb0b2808f90b2d0b7065aaa7863954ec6013ada55ef62efba27379b9027d26101bd620120c566a16e0cb654f0c729299e5b228b0e617dac3a76672d7e779f6e45d6c102432ece42dc196da9e18e51533cb645161cc2fb5874ecce5afcef3edc8bad8204865d9c85b832db53c31ca2328bc537029c08ae7db00194ac5806786559b701090e5f3a0b7065b7a786394365178a6e0538115cfb60032958b00cf0cab36e02121cbe7416e0cb6f4f0c728656416d88e0d2a571c3862e4aa7be41dc41a93801243b20e92dc196df9e18e50b389533be9807cd9b53d2848d45daabb32f94cbff4877e5d35b832dc03c31ca15712a677d300f9b36a7a5091a8bb557665f2997fe90efcba6b7065b807863942a6e6727a73681b9251c103a2d0dc8d6c76a958bfa21e13b4e6e0cb701f0c7285368e0a7fb4365f50204e69c5211efd589816d73f143c41a9ddc196e04e18e50a55dd3a8a35d2e6cbbd693609c1a3dd30daf1d43df8789d93cb832dc0ac31ca14947b9a9f390bf5c2f79ece9302ad9ce160a7ce3bc0f15567a7065b816863942911b85ac93f7e13b16c09ffa584c11c426c13c23751e2c50f5e0cb702e0c728521370b5927efc2762d813ff4b09823884d827846ea3c58a1ebc196e05c18e50a426e16b24fdf84ec5b027fe9613047109b04f08dd478b143d7832dc0b831ca1484683fbd4c956c5b6dd1c5faba56ec4930b62377a5f1642bb0065b8171639429075c91d346013b399370521d6ca436ba5c18894b48e2c9fb610cb702e3c728520d4535ff38d8d8f5dead6a62d13ecb9cb2dd54f28ec5959ac3196e05c88e50a419167e571e88146e75279aed9a73f5616066ec411a8b2cd98732dc0b921ca148312cfcae3d1028dcea4f35db34e7eac2c0cdd882351659b30e65b817243942906259f95c7a2051b9d49e6bb669cfd585819bb1046a2cb3661ccb702e48728520c4400511a11705f661099d94cb960932fde3a464d15968703a96e05c91e50a41870c1c7bef046e6f79e001518f22708df6738b259fb2d284762dc0b924ca14830d1838f7de08dcdef3c002a31e44e11bece7164b3f65a508ec5b8172499429061a3071efbc11b9bde78005463c89c237d9ce2c967ecb4a11d8b702e49328520c3460e3df7823737bcf000a8c7913846fb39c592cfd969423b16e05c92650a418684dda179d1d497a55ccdb40ea1d670761e4f4b5f82d29eb63dc0b924da14830cf27c687e710f57763667ca9cc312c36be762bc7ed5a557ac8b817249c4290619d4f8d0fce21eaeec6ccf9539862586d7cec578fdab4aaf591702e49388520c33a2b2c78491a38604566b8cf28bb0f02f484f17bb269578f23e05c92720a4186735658f0923470c08acd719e51761e05e909e2f764d2af1e47c0b924e414830ce638c439d13f4403cd67a9649ae29a33ccc0084ac6a55fe090817249c9290619cb718873a27e88079acf52c935c53467998010958d4abfc12102e49392520c33966f233ff1d37291ed6b6bba6380c6f72dac6387179581264305c92725a418672b6a58d8907d47a692a39d9cbef7ec165605096a2c2b03f0870b924e4c4830ce5560c409cdd0f1cfdd14016175e63654a6b65530555609850f17249c9990619ca94d9a6c4878462271f4c8eae3c2cad14818ecbca7ac14ae1f2e49393420c339512747313dc6eec79bb657fdbf7bf3ca8ade1bd54c582b003f5c927269418672a14e8e627b8ddd8f376caffb7ef7e79515bc37aa98b056007eb924e4d2830ce542292f1da3f21da126a6261ef5e62d522624b1b12e60ada4fe7249c9a60619ca83525e3b47e43b424d4c4c3debcc5aa44c4963625cc15b49fce493934c0c33950630cecf3c9ed90752655ea3cf8f1370933f0920b682b837fac927269918672a0b619d9e793db20ea4cabd479f1e26e1267e12416d05706ff5924e4d3230ce54164f4d959f51c6a0016240b73632abea47a866ded70ae283ec249c9a65619ca82b2aad83eb79efc2ba914796645bb5fc89fd1019ab15c6abd9493934cbc3395055555b07d6f3df8575228f2cc8b76bf913fa2033562b8d57b2927269978672a0aa36c8685abe218da211e4818965361a22a082c2a9571c536624e4d3300ce541536d90d0b57c431b4423c90312ca6c344541058552ae38a6cc49c9a66019ca82a66733fa17cee8b94014582e1d8b3690852e4d66a25c72f19993934cc13395054b5a7a4cdc7433f537f57684330ccb490508dd2941b8e7873427269983672a0a954106f265beca6d27b7b3305e0ff4ba04bdfcae8071d0b2694e4d3307ce5415290e203d7853f75d073c2c88b416479c04283bb8fde3a308d39c9a66109ca82a511c407af0a7eeba0e785911682c8f3808507771fbc74611a73934cc21395054a23880f5e14fdd741cf0b222d0591e7010a0eee3f78e8c234e7269984272a0a9447101ebc29fbae839e16445a0b23ce02141ddc7ef1d18469ce4d33084e54152886e16303215d8532b8f8eb3395ad7e83d2ffdebdb3a32313ac9a6610aca82a50f683eb9110213290eebe38e6aac0df8750c3e33b374660676934cc21695054a1d5c8fcaceda88d4d5a48d44cd4e7a18e4c4bec363e8cdb0ee2699842e2a0a94394531ee4a8b742c6315e0b192935259c435bfe2c4d19d05dd4d33085d5415287116763541ed4adb7df8878b1d1d02db8317c22186a33bafbb9a6610bba82a50e12cec6a83da95b6fbf10f163a3a05b7062f84430d46775f7734cc21775054a1c259d8d507b52b6df7e21e2c74740b6e0c5f08861a8ceebeee699842eea0a943843fc402bc40b95ea7910280e0de7504136a53683219df21ddd33085de415287070b9a5e2557d54006eecb29b9b348302180e92c6133bfe7bca6610bbd82a50e0d1734bc4aafaa800ddd9653736690604301d258c2677fcf794cc2177b054a1c1a2e6978955f55001bbb2ca6e6cd20c08603a4b184ceff9ef299842ef60a9438345cd2f12abeaa003776594dcd9a41810c074963099dff3de533085dec1528706845b83b0253b68326b978c3932ae12a12bad522103c001fcb6610bbd92a50e0cf1782ceb17dcf89053fb7af1e4c207c2021eca01d7801e397cc2177b354a1c19d2f059d62fb9f120a7f6f5e3c9840f84043d9403af003c72f9842ef66a943833a5e0b3ac5f73e2414fedebc793081f08087b28075e0078e5f3085decd528706744828ce38c4decae1ca83a0ea576208fbbba75ce8c010c0bf610bbd9ba50e0ce71c63f51e6020187b61cd69cca52239f2239115ce8023257fc2177b384a1c19cd38c7ea3cc04030f6c39ad3994a4473e447222b9d00464aff842ef6709438339a718fd479808061ed8735a7329488e7c88e44573a008c95ff085dece1287067346f32019fd7634692db31765d1f6ff78bc8cb0a71011acfff10bbd9c350e0ce676a765bec85290fdd832914b2353e17123dd870df023743ff2177b387a1c19ccd60ff1085e0b4a272d318515c60da561f27f33dbb04702bff42ef6710438339994e1079b897cbc79d72f6cab0b812d438fc28d77308e1fbff85dece218706733128334c1e05fa11f2b2b3bd596683d06ca4940ae311c59c000bbd9c440e0ce6615066983c0bf423e565677ab2cd07a0d9492815c6238b3800177b38881c19ccc22cdf8924ee4aca8297951d5d906d69ad3e928789471814012ef671113833998359bf1249dc9595052f2a3abb20dad35a7d250f128e3028025dece222706733063f907d408f8dacc22b1a9d6e3813ceafa68c7a221c61f405bbd9c445e0ce660b0b33532df57ddc3c22fb62d46685c559f95b504138c58c0c77b3888cc19ccc151666a65beafbb87845f6c5a8cd0b8ab3f2b6a082718b1818ef6711198339982a2ccd4cb7d5f770f08bed8b519a171567e56d4104e3163031dece223306733054599a996fabeee1e117db16a3342e2acfcada8209c62c6063bd9c44660ce660a83f478b8c2e404679fc7c553e5eba7d9a41f760108c5a64c87b3888cd19ccc14f0aa16fc532e30fabc5bed274b3d3232f30311c1e18b66d91f671119b3399829d1542df8a65c61f578b7da4e967a6465e6062383c316cdb23ece223366733053a2a85bf14cb8c3eaf16fb49d2cf4c8cbcc0c4707862d9b647d9c4466cce660a74550b7e2997187d5e2df693a59e9919798188e0f0c5b36c8fb3888cd99ccc14e83629550004937d7428b34f4333905aedaf541dde8b687d20671119b4399829cf6c52aa000926fae851669e866720b5db5ea83bbd16d0fa40ce2233687330539e64b7acace8b078886f936504c49f93b16992d3772da398829c4466d1e660a73b5581b206a7c373c8abecf2017f9d4f5d7f6802eb5b48d5063888cda4ccc14e753715bcba25e96a4924a00bfaf598c6b5ab1261d3b6934e0d71119b4a99829ce96e2b79744bd2d492494017f5eb318d6b5624c3a76d269c1ae2233695330539d268694b956e082bdc5f4657e3ccc142d1588be34bda4edc36c4466d2b660a73a35ce4efd7b272da708b52d7bf8fe0ad9d5d5a2294b49f5c6e888cda57cc14e74545dc385c3b483798e36bd777161f833566f6a12669405cde1119b4b09829ce8917cac9654cf2f1e9939dd6e6229d2e657a2f9e49d2825dbd2233696230539d112f9592ca99e5e3d3273badcc453a5ccaf45f3c93a504bb7a4466d2c460a73a225f2b259533cbc7a64e775b988a74b995e8be79274a0976f488cda588c14e74444a68a3d73dfa120469b4df290b479b267dbf4e4b941491ea119b4b12829ce88720e3a05b5256a6c0a02fe64a0ced5e47a7c0f894282ac7d5233696260539d10d41c740b6a4ad4d81405fcc9419dabc8f4f81f12850558faa466d2c4c0a73a21a0fa0da1a1fbd1dba4d85c1202a13a1194b463e4da0acc3558cda589914e744331f41b4343f7a3b749b0b824054274232968c7c9b415986ab19b4b13229ce88663e8368687ef476e936170480a84e84652d18f93682b30d5633696264539d10cc0919297dd44b708a38f430f946fb30c506744e6a0567bead66d2c4c9a73a2197123252fba896e11471e861f28df6618a0ce89cd40acf7d5acda589934e74432e2464a5f7512dc228e3d0c3e51becc31419d139a8159efab59b4b13269ce8865c48c94beea25b8451c7a187ca37d9862833a273502b3df56b3696264d39d10cb81da4f08a1b198b5b5c09378c6611344b1387429d567d8ed76d2c4c9b73a2196f3b49e114363316b6b8126f18cc226896270e853aacfb1daeda589936e74432de02a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb760a986b550b22c094f3ac18a63a8be49be97d99c967df7d7ad2c4c9bb3a2196ec1530d6aa16458129e758314c7517c937d2fb3392cfbefaf5a589937674432dd82a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb76035990dfd888e8c070787b25b9f1c71b9441bf8937df97bae2c4c9bb4a2196ebf6b321bfb111d180e0f0f64b73e38e3728837f126fbf2f75c589937694432dd7e627690a2f89cb2d3eae4f16672cfeedfbcb23e4af7e792b9b1326ed38865bafb50ff79f2c79be85fa2900ac4dbfe05ba25a6d892efd0c9746264dda810cb75f52e114c92659a537711e63d81ae5a336ef7900d22dfa336e9c4c9bb512196ebe95c229924cb34a6ee23cc7b035cb466ddef201a45bf466dd3899376a2432dd7d244578af66ccbd094145f1dfeafc6f5b68a8290887e8e7fa81326ed45865bafa314c16e99affa23dff58463f555ec1367c1477d0dfd1ea351264dda8c0cb75f452982dd335ff447bfeb08c7eaabd826cf828efa1bfa3d46a24c9bb518196ebe8a5305ba66bfe88f7fd6118fd557b04d9f051df437f47a8d4499376a3032dd7d14321dcd7a5633a1b778e947a2a5bec338b67e446ce8f6be8a326ed46165bafa27643b9af4ac67436ef1d28f454b7d86716cfc88d9d1ed7d1464dda8c2cb75f44e54898e962f310995b06b46828d5934dd863b6db0a3dc9e29c9bb518696ebe89b352575d934c495e32d9cb4fd111091b5b8b9375e47bae0549376a30e2dd7d1356a4aebb269892bc65b3969fa2221236b71726ebc8f75c0a926ed461c5bafa26a60a83011a974da448338fbec3aa06ed18f2739761eed25534dda8c39b75f44d34d62b8d0294c3740d3381fd06b9f059dca90cee93ddbeea79bb518746ebe89a526d7ca4d28faf13973366798cd9c33364163f9cf7bb98150376a30e9dd7d13494daf949a51f5e272e66ccf319b38666c82c7f39ef77302a06ed461d3bafa2692277181e17a4e479d999fc65b2ccef4d3b1d2433aeee7a941dda8c3a875f44d234ee303c2f49c8f3b333f8cb6599de9a763a48675ddcf5283bb518750ebe89a4629d86032bf9ba12e33454164a999fb49738b68e8bba0490876a30ea2d7d1348b53b0c0657f37425c668a82c95333f692e716d1d177409210ed461d45afa269163373d977d4d1077099db2d8a9cc615207a6fff9fee82c822da8c3a8c5f44d22b66e7b2efa9a20ee133b65b15398c2a40f4dfff3fdd059045b5187518be89a45659e1be8c29a6a07a3432de2269767c7c96025a7cba0cc48c6a30ea327d1348ab3fd5d5c529afc3ac352be43cc94b20f3d84710f6741b2d19d461d465fa2691550bbe043729c20a10371df07188f469e25cd07de9e837fe34a8c3a8ccf44d22a9177c086e538414206e3be0e311e8d3c4b9a0fbd3d06ffc6951875199e89a45522ef810dca7082840dc77c1c623d1a7897341f7a7a0dff8d2a30ea333d1348aa45df021b94e105081b8ef838c47a34f12e683ef4f41bff1a5461d4667a269154847f29c1f728323bb3ea52f1085a4c620794a3a9b8381874b8c3a8cd044d22a8f1bf790ebbb68ca2e4a10861901a7b43b9ed6d1340704b298187519a189a4551d37ef21d776d1945c94210c32034f68773dada2680e09653030ea33431348aa3a6fde43aeeda328b928421864069ed0ee7b5b44d01c12ca6061d46686269154746bcee00ab1a8d42a1d4a58c0039bc9d7a2f8e59d382738c1c3a8cd0d4d22a8e763b018c239b42b0c075ad977fd95bba9f23427377050158487519a1b9a4551cd53728a3149cad8cfdb7bdae7f1899f4e90aaaa6be0a1cf0a0ea33438348aa39932f76d0f69f8345783bdddc7d9716697cd97b0d4c14542151d4668716915473165eeda1ed3f068af077bbb8fb2e2cd2f9b2f61a9828a842a3a8cd0e2d22a8e6257f00cea7e435415dbbd9f175c23c259e2a11f500516ac557519a1c6a4551cc33bf27281d2e92ae384416626aea5acae71849a9d0a2efcabea33438e48aa398503f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730907ee7b60f869b0fdaa91e88aa75302af1e97226e28bf3ab1a8cd0e3b22a8e6120fdcf6c1f0d361fb5523d1154ea6055e3d2e44dc517e7563519a1c764551cc241fb9ed83e1a6c3f6aa47a22a9d4c0abc7a5c89b8a2fceac6a33438ec8aa398483f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730900afa0ebc5cfd929275e4b0a26b8e52ec95b482df8bf54f1b8cd0e3b32a8e611f15f41d78b9fb2524ebc96144d71ca5d92b6905bf17ea9e3719a1c766551cc23e2be83af173f64a49d792c289ae394bb256d20b7e2fd53c6e33438eccaa39847c57d075e2e7ec9493af2585135c729764ada416fc5faa78dc66871d99547308f83bb34472a63babdf2b11321eaf4356c4078a89f5bf5695b9cd0e3b33a8e611ef0378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba0de386488b6769d88ba230d55393560aed5dbfa1fabb3dd26871d9a147308f741bc70c9116ced3b1174461aaa726ac15dabb7f43f5767ba4d0e3b3428e611ee8378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba06a4abd358cd9204086e9354d2f9388a9821e561cabb58127871d9a157308f73f60a7d317f014c338da9892925585394db07f0836576ca6500e3b342be611ee7d4d61fedcb68c092981f74d1ca1689a960d406c69aedaf0a11c766858cc23dcf926d65666437a950ad0b4c231392f5d26c6c334d05db7854338ecd0b29847b9f14dacaccc86f52a15a1698462725eba4d8d8669a0bb6f0a8671d9a165308f73e2276bb245e44cd6e30f9930bcdb1b9c95c74f2f3e76dfb90de3b342cb611ee7c34ed7648bc899adc61f326179b637392b8e9e5e7cedbf721bc7668596c23dcf8629c121c46795de440b2aeaeb62cc9a51c97f18f6db8088388ecd0b2e847b9f0b53824388cf2bbc881655d5d6c59934a392fe31edb70110711d9a165d08f73e163316dfbe74b9fbc7f971d3a581909141d23ebfd86e03c4e33b342cbb11ee7c2b662dbf7ce973f78ff2e3a74b03212283a47d7fb0dc0789c67668597623dcf856586dd7a6a94a71d7b28d768dfca06d01f53d5b5eb810b78decd0b2ed47b9f0ab3cee07fa28f7666731e11513ef9f01fe96bd12ba7023131cd9a165db8f73e15505ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a90bdcd14250a29f0c6110a43fab3857efb37902e3c08f9475668597703dcf855217b9a284a1453e18c221487f5670afdf66f205c7811f28eacd0b2ee07b9f0aa42f734509428a7c31844290feace15fbecde40b8f023e51d59a165dc0f73e15485ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a9049df6cd1e08c737dddd06bf2a9e3a6f5e3d28a3908faeb5768597704dcf8551f1fd13250977b69b38866ffdd4a2575e673e7706f11f77aafd0b2ee0ab9f0aa3d3fa264a12ef6d36710cdffba944aebcce7cee0de23eef55fa165dc1573e1547a0b5721ef34502985ee62276d1ef3ff947be01db947df8ec042cbb82be7c2a8f316ae43de68a0530bdcc44eda3de7ff28f7c03b728fbf1d8085977057cf8551e62d5c87bcd140a617b9889db47bcffe51ef8076e51f7e3b010b2ee0af9f0aa3cc5ab90f79a2814c2f73113b68f79ffca3df00edca3efc7602165dc15f3e154798418477a01b651b16b2e89ec9e59e21426a4437917dfa90052cbb82bf7c2a8f2f0f1b47ed0d2cb8e53297658bc19a6a7f80cacb1ffbf6c40b5977057ff8551e5d1e368fda1a5971ca652ecb178334d4ff0195963ff7ed8816b2ee0afff0aa3cba3c6d1fb434b2e394ca5d962f0669a9fe032b2c7fefdb102d65dc15ffe154797404ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e709d9302a7f9093c2c302a8ac0662f7ed653169f9bf6f88b7977058018551e5ce13b26054ff212785860551580cc5efdaca62d3f37edf116f2ee0b0030aa3cb9c2764c0a9fe424f0b0c0aa2b0198bdfb594c5a7e6fdbe22de5dc16006154797384ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e7029a55b54cf6bbee3fcf0b2b85c8da6d0ff58fb98f6fa2f7a77058019551e5cdf534ab6a99ed77dc7f9e16570b91b4da1feb1f731edf45ef4ee0b0032aa3cb9be32a7c60014117e47c088f2d96894c33ea9a64a60dbea61eadc1600665479737b654f8c002822fc8f8111e5b2d129867d534c94c1b7d4c3d5b82c00cca8f2e6f656b170ad26a87bd6cee9f35d98b134f552db85806fab2bac7058019a51e5cdeb39753a0723b37a656a9a0eb327c091e551f966fddf57fb59e0b00335a3cb9bd572ea740e4766f4cad5341d664f8123caa3f2cdfbbeaff6b3c160066b479737aa71e740c965306c4d772e62c495606f8ff427f7f47d61916882c00cd78f2e6f536fe0da3fa0c35b52bb22ed81211f071a94924be5fac4c6d2058019b01e5cdea56bd40d2c17e9395d430c02fa389c362fd566f3c8f58b31a50b0033613cb9bd4963ba73050634f57252de2dec6796945a5710438eeb18074b160066c379737a9153873eb6e2cc6d9c728283d0c58b50af5a62e31ad631b2972c00cd87f2e6f5213320d61a9bfb5df0b1cb2f998174c95961082232ac65092f58019b10e5cdea416641ac3537f6bbe163965f3302e992b2c210446558ca125eb0033621cb9bd4825895b117464ffa7a93f2e65dfc314d603062e4c7b195c8be60066c449737a9033d3dbadb630277acf4abf4b3eec0c2bb0d08258c632d357dc00cd88a2e6f5205068dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea4090d1b9cc738cee4236c3c22bfa7bf5ae18ca54e2b8cb81df90033622ab9bd48121a37398e719dc846d878457f4f7eb5c3194a9c5719703bf20066c455737a9024346e731ce33b908db0f08afe9efd6b86329538ae32e077e400cd88aae6f5204868dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea40905dcc25206350c4ee908853f27253d61376973eb5cb838391033622ac9bd4811f47aaa2ed9d040c94edd6cfdcdb05d4219970d9689708ab23066c455a37a9023d1b679e88106a9be1a873c7b1ac69d03ddf240ece2e12fa470cd88ab56f52047936cf3d1020d537c350e78f6358d3a07bbe481d9c5c25f48e19b1156adea408f26d9e7a2041aa6f86a1cf1ec6b1a740f77c903b38b84be91c33622ad5bd4811e4674f4ced59b761c51064658559aca9e9a562d26e7099763966c455ac7a9023c75ab0f28789d14641ed8ef302a9b77bcdf70800d9e1349073cd88ab59f520478d41743dbbea050f3ba7e40dfd49cd1f969a525db0c26ac4e89b1156b4ea408f190efad424aa6ca12f1c8e43f289f86727e0e7175e84d72dd23622ad6ad4811e311df5a84954d9425e391c87e513f0ce4fc1ce2ebd09ae5ba46c455ad5a9023c623beb5092a9b284bc72390fca27e19c9f839c5d7a135cb748d88ab5ab520478c403e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f18707d1f3a4538f186162708f188c42c27366f62de24d762525622ad6af4811e30e0fa3e748a71e30c2c4e11e31188584e6cdec5bc49aec4a4ac455ad5e9023c61c1f47ce914e3c618589c23c62310b09cd9bd8b78935d8949588ab5abd20478c383e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f1870093192f20f5408cdf3cf1980ba8a4f311ba53a21d763f65722ad6af5811e30df126325e41ea8119be79e330175149e62374a7443aec7ecae455ad5eb023c61be24c64bc83d502337cf3c6602ea293cc46e94e8875d8fd95c8ab5abd60478c37c498c97907aa0466f9e78cc05d4527988dd29d10ebb1fb2b9156b57ac08f186f81f2b87cdcba30f9709b7c0039f031b0c6695fe1a764109732ad6af5911e30def3e570f9b97461f2e136f80073e063618cd2bfc34ec8212e655ad5eb223c61bde08c077e404eec113f3a52806726a942c469a5466d905c9cdab5abd65478c37bb1180efc809dd8227e74a500ce4d528588d34a8cdb20b939b56b57aca8f186f762301df9013bb044fce94a019c9aa50b11a69519b64172736ad6af5951e30deec4603bf202776089f9d2940339354a16234d2a336c82e4e6d5ad5eb2a3c61bdd81819d6ed254e93f70718a85f1d076abf15e7a26a905e40dbb5abd65578c37baf3033adda4a9d27ee0e3150be3a0ed57e2bcf44d520bc81b76b57acaaf186f75e60675bb4953a4fdc1c62a17c741daafc579e89aa4179036ed6af5955e30deebc4ce1101600d72270058b6af0de997df35b7f6f5182f3aadead5eb2acc61bdd7725d478d8d810c797d7dcfdd9b39123e163413aa005e8f9be5abd655a8c37baed4ba8f1b1b0218f2fafb9fbb3672247c2c68275400bd1f37cb57acab5186f75da23643c1036a5a1172c3a1f5ec4a2b7803947467d17a58afa6af5956b30deebb346c878206d4b422e58743ebd89456f00728e8cfa2f4b15f4d5eb2ad661bdd76619a348edb0f907147daea57308e905fb915f75f15e97cfeaabd655adc37baecb334691db61f20e28fb5d4ae611d20bf722beebe2bd2f9fd557acab5b86f75d96668d23b6c3e41c51f6ba95cc23a417ee457dd7c57a5f3faaaf5956b70deebb2c592ca01a5e2abb5bba3b53903da657d7373e0b87f4c023565eb2ad6f1bdd76573e6b98e192b7f96f413ccf1871aad7a91abe730ce981eaadbd655adf37baecad08e98a6ffbd275964f3fc628d9b3d74ce1bf4216d305795c7acab5bf6f75d95911d314dff7a4eb2c9e7f8c51b367ae99c37e842da60af2b8f5956b7edeebb2b223a629bfef49d6593cff18a366cf5d3386fd085b4c15e571eb2ad6fdbdd76564474c537fde93acb279fe3146cd9eba670dfa10b6982bcae3d655adfb7baecac81aaaffac9389dc1cc0c28a85919b9cc8c8367d6a305939c8acab5bf7f75d958f3555ff592713b8398185150b23373991906cfad460b273915956b7efeebb2b1e6aabfeb24e277073030a2a16466e732320d9f5a8c164e722b2ad6fdfdd76563c616a561172b1639dd2da7c24833b0e40edf6474e82cb7246655adfc0baecac774ee704cfbbc549f3727b2040fcd4447c882eea9a0598888dcab5bf8275d958ed29e0624c4ded169eb1bc6879f006b0f3bca031310b32b51c956b7f05ebb2b1d953c0c4989bda2d3d6378d0f3e00d61e77940626216656a392ad6fe0bd76563b23393e1de0e16dd3293b7c9dfb678ebc99ec320c12ccc787355adfc18aecac7636727c3bc1c2dba65276f93bf6cf1d7933d8641825998f0e6ab5bf8315d958ec65a61e0250ebdf7821ba54f76d041d721274edf01b33385ce56b7f063bb2b1d8b40d618f6f3de71bc0410c6e596e1d63cfae01a006668af9dad6fe0c876563b150dbe8a9abe1f662fd4e7b5c32421d474a2028ffdccd3033c5adfc191ecac76291b7d15357c3ecc5fa9cf6b864843a8e944051ffb99a60678b5bf8323d958ec5236fa2a6af87d98bf539ed70c908751d2880a3ff7334c0cf16b7f0647b2b1d8a46df454d5f0fb317ea73dae19210ea3a510147fee669819e2d6fe0c8f6563b14867fb0258b858e5b51b41842a387b6f44cc6b5bd9cd31d7c6adfc191fcac7628f5c085d5e47144e220349304c67550684451913b09a65538e5bf83240958ec51d44231369648b1efbd3588890c50835033674835e34cc4b1db7f064822b1d8a3914587f7f9f78c0af73773919806e9201192b62b9699a3a3c6fe0c905563b147128b0feff3ef1815ee6ee723300dd24023256c572d3347478dfc1920aac7628e25161fdfe7de302bdcddce46601ba480464ad8ae5a668e8f1bf83241558ec51c42ed654a9d2288833687ff0c3f9d2b803759d71c84cd375e47f06482bb1d8a3875daca953a4511066d0ffe187f3a57006eb3ae39099a6ebc8fe0c905763b1470e476bab541f04a3856ec5eb07dda9080882b8231e334f7b92fc1920afc7628e1b1ae9af55146bc9c2aa51fe07b1b0380bb1b2a23966a09b26f83241608ec51c3535d35eaa28d7938554a3fc0f6360701763654472cd41364df06482c11d8a386a6ba6bd5451af270aa947f81ec6c0e02ec6ca88e59a826c9be0c905823b1470d4635fd35579c0d0cd1f56183583dfe85839d76dc835067d38c1920b057628e1a752d1ff57c9e424520b725862fe1df8ab1ff1378d6a0e9e728324160bec51c34d31b6575c6a2acb5be3aad8bdf29a1950ec24cb17d41ee0e606482c18d8a38699636caeb8d45596b7c755b17be53432a1d849962fa83dc1cc0c905831b1470d3252ebb61e7f0db0275b718aefc0c68d3e5cd5885c507d27991920b064628e1a6331e9c4e9d47de30683a93dd777eb427765ed6cb5a0fbf333324160c9c51c34c563d389d3a8fbc60d07527baeefd684eecbdad96b41f7e6666482c1938a38698a53b96c54285a0ed1db6b1f55d60b31d843f80ed383f170cdc90583281470d313338531552716a05b839c66a3a2748bab343279a407e4859c920b065128e1a625670a62aa4e2d40b70738cd4744e917566864f3480fc90b3924160ca251c34c4a5a271e0172bd0425db37c286803056a77d0c428d1f93ba73482c1945a3869893406094afbbdc8b038335ad04f6bed549a65ae1173f2918e79058328c470d31250cd3820c4e1b98bed3318201e3dbd28df8f81e2b7e53d5d020b065198e1a624919a704189c37317da6630403c7b7a51bf1f03c56fca7aba04160ca331c34c492334e0831386e62fb4cc608078f6f4a37e3e078adf94f574082c1946638698924669c106270dcc5f6998c100f1ede946fc7c0f15bf29eae81058328cc70d31248594a7971b81c0ea4ffde4816341b50da3bc43eb4e53f01030b065199e1a6248f3ea74b90469aa001cc82b8245e94c9af23cad966ca7fa607160ca334c34c491d0960efcd6397c2bb65cb9840b387bb58f3d80eca9500f00f2c19466a8698923912c1df9ac72f8576cb973081670f76b1e7b01d952a01e01e58328cd50d3124722583bf358e5f0aed972e6102ce1eed63cf603b2a5403c03cb06519aa1a6248e44b077e6b1cbe15db2e5cc2059c3ddac79ec07654a807807960ca335434c491c8222155830fdeae6e297fac032ed9dd89e9c348a65010a4f3c19466a96989238f4442ab061fbd5cdc52ff58065db3bb13d386914ca02149e78328cd52d312471e1497aeb915dd3c7072c4d804b1c59e22534f7e96404437d006519aa6a6248e3b292f5d722bba78e0e589b009638b3c44a69efd2c80886fa00ca3354d4c491c76525ebae45774f1c1cb136012c71678894d3dfa590110df4019466a9a989238ec30cfce75854c663b62ece81d848b190d46be50af02236281328cd536312471d7619f9ceb0a98cc76c5d9d03b0916321a8d7ca15e0446c5026519aa6c6248e3ae4f519282eb941ba55879c86e088a8c2fc73b9eb9088f2e05ca3354d9c491c75b2ab57db2ad8aba027db9b8d40773405a3ab9996f1120000c9466a9b489238eb5556afb655b157404fb7371a80ee680b4757332de2240001928cd536912471d6a36e84f778c8d6ac1c3ad0b48142b29639728c1b94481a433519aa6d3248e3ad36dd09eef191ad583875a1690285652c72e51837289034866a3354da6491c75a667b3968b08982dbedb7a5518470acd8908e562e2120834ce466a9b4d9238eb4b5b7985c2e792de3583bad2288473c30cbe0d21c124120d9d8cd5369c2471d69543056432a5883f22d43bcc48ff45ae14285c9f7f4825bf3c19aa6d3948e3ad29121d2112217300fd753dc089f4e98422fcfb9afb904d22793354da7391c75a51243a422442e601faea7b8113e9d30845f9f735f7209a44f266a9b4e7238eb4a24874844885cc03f5d4f70227d3a6108bf3ee6bee413489e4cd5369ce471d69441cfb613de1fa8aa376b42c479daa4912941f33d9826ab7ca9aa6d39d8e3ad28739f6c27bc3f51546ed68588f3b549225283e67b304d56f95354da73b1c75a50e73ed84f787ea2a8ddad0b11e76a9244a507ccf6609aadf2a6a9b4e7638eb4a1c73ed629be636d7d382678a34e3b0708f4d3bfac913576255d5369ced71d6943773ed1de4a2d0325ed1953c61bdbf091946ba518f26b068acaa6d39dbe3ad286d73ec94761c02e7756ff0a0bb71dc3a2d39b6ff1b4d62755a54da73b8c75a50d973eb81990e6851a2aca7696eda169c551fb05a339ac68eb5a9b4e7728eb4a1b173e95bdef33325fd2614fad5aa8b60a4eba31064358ec16c5369cee61d69436173e5106abcc8ceb218f01da34b74e94483887cc56b1f26d9a6d39dcd3ad286c173dc79824ff4201bfea6633e8d47fa83b3535587d63ff1b44da73b9b75a50d8173cb4bb1764ac2efca12ee7510ee1d0212e9070cac8187699b4e7737eb4a1b0173a8f00fc2f8089760ec04e2183a61fed2146a165904b2d4369cee70d6943601736438cc5c5293e68e9e31bc26d2ebf8506b3029b20b09a96d39dce2ad286c0172daca458f07aa84ea028b704403ffeb4d18bc506417b753da73b9c65a50d80171c7ed37f471d7c1a0cb3ed87e6627d14673d49dc83112a8b4e7738db4a1b0016fa2331cbf46323b0e5ca5a8f32a779d392a05389063c95269cee71c694360016b56bee654eee72de97f7349dcb317351e96666e20c936a5d39dce39d286c00162bfd679804051139fc50e8bafc45664e96f28d94194114ca73b9c74a50d80015192059fd6e324df0c50450f55e6d4c47f20adaf8329c69a4e7738ea4a1b00012f3663ec8428cc75e566b216a22bd183aa83b75c065531359cee71d5943600015e6cc7d9085198ebcacd642d4457a30755076eb80caa626b39dce3ab286c000248ebe85ee705b48f6260f0527f0d6e095651396d195668d773b9c75750d800031dea296aa46debd69188089cf479040d58e4ced732ae75afe7738eafa1b000053bd452d548dbd7ad23101139e8f2081ab1c99dae655ceb5fcee71d5f4360000a03bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c000130775fcaed034642425cc94d7908470601fab2eb39576f5813b9c757f0d8000260eebf95da068c8484b9929af2108e0c03f565d672aedeb027738eafe1b00004c1dd7f2bb40d190909732535e4211c1807eacbace55dbd604ee71d5fc360000983bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c00013003722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0dc88e6766a313e8a63dd5c3fa94b7f29bd51cd95dc3f052e71d5fc76000097c1b911ccecd4627d14c7bab87f5296fe537aa39b2bb87e0a5ce3abf8ec00012f83722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0689b3f234093c14230a384379fa9a72469942992dc40a92f71d5fc77000097bf5d48d6f3578a053c2e0d306735b176437f6aaf22b882f65fe3abf8ef00012f7d46a4069385768d3028e088c661c11481ab17ba42710790c0c757f1df00025ef9195a65d3e14f9d181e873984b9e050fe0271d081e210c5828eafe3bf0004bdf132b4cba7c29f3a303d0e730973c0a1fc04e3a103c4218b051d5fc77e00097be26569974f853e74607a1ce612e78143f809c742078843160a3abf8efc0012f7c456e5874be0df6b78c0fff41dc560afeabfd0e00c1087d015757f1df90025ef8739dd6744982159a94ec61033811f87d02be41c152111442beafe3bf3004bdf0d73bace893042b3529d8c2067023f0fa057c8382a42228857d5fc77e60097be1a7387f5bf36e7e95d07de68c5fadc473b5bd2cc518446b4b0abf8efcd012f7c337322442b44325571dc82f983ec16b67163e7f4a0088f0d6257f1df9b025ef8657256e1035ec72d9b85cc1affce8b94dd7412453d111fbec5afe3bf3704bdf0c970c01ab393f0ddeed85e5df7937551b59466e6772241218c5fc77e6f097be1916d928e13fe443e957d82e3e71d48cb65d51028eb4483e719bf8efcdf12f7c321673774d4d2eaffe2c7cbefc630efbec65662add3890972347f1df9bf25ef86415a8142567c38827d5c5e0784583da5875907b7a412148869fe3bf37f4bdf0c814114dd59ced387b285823700a6d973095e51cb45242ab4d4fc77e6ff97be19010e3c13607409921cd7ca95f944110e0d68e5f28748570daaf8efce002f7c32011c7826c0e8132439af952bf288221c1ad1cbe50e90ae1b55f1df9c005ef8640238f04d81d02648735f2a57e510443835a397ca1d215c36abe3bf3800bdf0c80471e09b03a04c90e6be54afca2088706b472f943a42b86d57c77e70017be190086fd38eb416fba485496f878c376f08d13aa1847185727eb08efce003f7c3200f6bb976150459cbc25fa53710653c399d218564e00ae6a1621df9c008ef86401d638544d6df161a3c8c109618c0d69b34ef4d25bd15cee6c53bf38012df0c8039531ce25a948eb730e4e75429780b5e648adca7772b9f718b77e70026be190071324c1d61ff7ff1199694d04ae674e4c3c1fbaaeb57408717efce004e7c3200e164983ac3feffe2332d29a095cce9c98783f755d6ae810e2fdf9c009cf86401c25542ce34d462471e271969239031bb09b43107aa5d03c060bf38013af0c803833697f5167f2710f41af8fa3f16c19e0e14a46b51ba0924c27e700276e19007056d2fea2cfe4e21e835f1f47e2d833c1c2948d6a374124984fce004edc3200e0a66722d06d2fec68838aa10f45164a032fed40943e826370af9c009dc86401c1358f6b2ba7c600fc83e1a49e099276860a9ea6e84d04e1216f38013ba0c8038253dffbe21cf22a24848fabbb928acf8bc00173906a09dc82ee7002775190070490811d4f074a7c7485ebb9f6a47b81972ac70ce0a413d345ece004eeb3200e0911023a9e0e94f8e90bd773ed48f7032e558e19c14827a68bd9c009dd66401c122204753c1d29f1d217aee7da91ee065cab1c3382904f4d17b38013bacc8038244408ea783a53e3a42f5dcfb523dc0cb956386705209e9a2f670027759900704880d2fa7b420def73db8801e9c71dfbf25734f3ca113d4e9ede004eeb4200e090f1a5f4f6841bdee7b71003d38e3bf7e4ae69e794227a9d3dbc009dd68401c121e34be9ed0837bdcf6e2007a71c77efc95cd3cf2844f53a7b78013bad08038243c697d3da106f7b9edc400f4e38efdf92b9a79e5089ea74f6f002775a1007048785f0cd3eee451f69354c811bf145a1a51e136260e3d5042df004eeb4300e090ef4a2c008a9f066fde76564b761f125c9e6eaea8197aa229bf009dd68701c121dd206a59c2146f6274b972bee43482e137899fac2ff545f77f013bad0f038243b940d4b38428dec4e972e57dc86905c26f133f585fea8beefe02775a1e070487720dbbbfb528200c8ab2912388c869acd8d2c10cbcd51981fd04eeb43d0e090ee31b777f6a504019156522471190d359b1a5821979aa3303fa09dd687a1c121dc636eefed4a080322aca448e2321a6b3634b0432f3546607f413bad0f438243b8c6dddfda94100645594891c46434d66c6960865e6a8cc0fe82775a1e87048771867ce53ff58634b62f5d860847cf8f587d85327ca5199c3d14eeb43d1e090ee2f5baf00ab8729197db876e900f050130a5ce8ab91a3352ba39dd687a4c121dc5d43705a03e4b4b5b33db3f9f9d6fe4e0f6613b320466bfb483bad0f4a8243b8b912f30cb49fcbee1e482e1beba45ac4197869c23d8cd99a91775a1e960487717125e619693f97dc3c905c37d748b58832f0d3847b19b33522eeb43d2c090ee2e24bcc32d27f2fb87920b86fae916b1065e1a708f633666a45dd687a58121dc5c423aabe51d4c1f3aa0e370755193448c66f906de966ce788cbad0f4b1243b8b8747557ca3a983e7541c6e0eaa3268918cdf20dbd2cd9cf11975a1e9624877170e1abd51f4296a516005a2454c5b2f4b146a8413a29b3b8633eb43d2c590ee2e1b357aa3e852d4a2c00b448a98b65e9628d508274536770c67d687a58b21dc5c366af547d0a5a94580168915316cbd2c51aa104e8a6cee18cfad0f4b1643b8b86c61fce84e21b50db7f9d8525acfd8809e0062f911d9ddd5a05a1e962d877170d7500c294919cc9e27c076ccad960f2936ad084e20b3bd4f41b43d2c5c0ee2e1ad2c2aab3f09fbbf074db3c153227c7a680652f83e677c4284687a58b91dc5c3595855567e13f77e0e9b6782a644f8f4d00ca5f07ccef88508d0f4b1723b8b86b23cbd05a8fe517ed503952d448050119ac58e3cf69df2ae12a1e962e577170d63058c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac50b18c7fda60b00c3a7e10501edfc96606ebdabd477ce004c87a58b97dc5c358a16318ffb4c1601874fc20a03dbf92cc0dd7b57a8ef9c00990f4b172fb8b86b142c631ff6982c030e9f841407b7f25981baf6af51df3801321e962e5f7170d62858c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac503d9ed88737128ef24ad67816d6278e01981d19447ce1a8c97a58b97ec5c3589f075009bb4487a09c62731825a2ad43fddc7c8e85f9c4f593f4b172fe8b86b13d0ea01376890f4138c4e6304b455a87fbb8f91d0bf389eb27e962e5fd170d627a1d4026ed121e827189cc60968ab50ff771f23a17e713d64fd2c5cbfa2e1ac4f43a804dda243d04e31398c12d156a1feee3e4742fce27ac9fa58b97f45c3589e80112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0897a308f6e463ef9fbd529109933ec3a05a22e4e287ea0258b97f4dc3589e78112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0158c893c44a8c1b1c89b51088f921434b1e48a4b288044268b97f4dd3589e77f2b191278895183639136a2111f24286963c914965100884d172fe9ba6b13cefe563224f112a306c7226d44223e4850d2c792292ca201109a2e5fd374d6279dfc3876a28efba8904611a0b03c72eec9a03b66ae564403c5355cbfa6eaac4f3bf770ed451df751208c23416078e5dd934076cd5cac88078a6ab97f4dd5589e77ee6dece2e8c504c3d01348e8e9c2194e7b99dd15561010b8d672fe9babb13cefdb67ec1e7e606c0a57f357f9cb7a90c4f1dffc86a9202315ade5fd37586279dfb55bea95a9973a9767b3761b8eeb7fb1de6c3b694f4047cf5ccbfa6eb1c4f3bf6943e7840004d7b18733b25f15cd5d8bb784b92e9b809142ba97f4dd6489e77ed113e160ace011e5c6342ae62391193f69b5b4b934012429762fe9baca13cefda127c2c159c023cb8c6855cc4722327ed36b697268024852ec5fd37594279dfb424f8582b380479718d0ab988e4464fda6d6d2e4d00490a5d8bfa6eb284f3bf6842b1d5e13d6f1b0e96e1d59147f28234859e8259d0922efb27f4dd6519e77ed07563abc27ade361d2dc3ab228fe504690b3d04b3a1245df64fe9baca33cefda0e3887d0fc3229465d853b8c49f2feb51c13e2f271248d62cafd37594779dfb41b710fa1f864528cbb0a771893e5fd6a3827c5e4e2491ac595fa6eb28ef3bf68366e319c9d9f079c2de1b4591fc258fc6afbce25c192372f2cf4dd651ee77ed06b687591e81471bb13902eda377b1020d0a3dea7802470025ae9baca3ecefda0d55cfd7c7cff45f8deed23dc66ec7e699bf3ffaafd48e1a8b6d375947e9dfb41a9460d51a6d4ee7475a70de0c5cf5afb329441b1f791c4f56ea6eb28fe3bf68351182cfbfa803f6ba31ae1e98395141e5fd4c5bfec238b8ede4dd651fd77ed06a13059f7f5007ed74635c3d3072a283cbfa98b7fd847171dbc9baca3faefda0d4260b3efea00fdae8c6b87a60e5450797f5316ffb08e2e3b79375947f5dfb41a844d7a3880d85ddfd0a3d574149eff1af952705b5e1c5e1af36eb28fecbf6835072706c9ae871e425914711021345c5ded512312b938bdd9e7dd651fda7ed06a0d4e0d935d0e3c84b228e2204268b8bbdaa2462572717bb3cfbaca3fb4fda0d41a282d7f66f2db8c1c1e8a687cc7cf9faff0cea6e1e2f90ba075947f6afb41a833505afecde5b718383d14d0f98f9f3f5fe19d4dc3c5f21740eb28fed5f68350662cc85648a1d0b32846efc9eb159ca6ba6f7cf7848be5d282d651fdaced06a0cb5990ac9143a166508ddf93d62b394d74def9ef0917cba505aca3fb59da0d41963f33b1cf5da54f58e8854fa44cd0c2e46a363a0f2f98ee0c5947f6b4b41a832b0a79bc4b91ad21699dd0c7408fffadc380aed01b5f338019b28fed6a6835065514f37897235a42d33ba18e811fff5b87015da036be670033651fdad4d06a0caa29e6f12e46b485a677431d023ffeb70e02bb406d7cce0066ca3fb5a9a0d4195453cde25c8d690b4cee863a047ffd6e1c057680daf99c00cd947f6b5341a832a833ae1d65f1349951a9d29c00f6590432b72f5db2f339a59c28fed6a78350654f675c3acbe26932a353a53801ecb208656e5ebb65e6734b3851fdad4f06a0ca9e5acace449b34e7fe741097fbcfc238c588ffd2c8cce83a71a3fb5a9f0d41953b41a7f5360ccc52b4b4e757ef95e29985be42018e99d218e447f6b53f1a832a750f624318effb28213694d7d722235b0628c65f1a33a5d5c98fed6a7f350654e91ec48631dff650426d29afae4446b60c518cbe34674bab931fdad4fe6a0ca9d23d890c63bfeca084da535f5c888d6c18a3197c68ce9757263fb5a9fcd41953a407247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a7470e48e2e8ac77878302d9cd620ef20057e4eaa99d3a60a49afed6a7f550654e8e1c91c5d158ef0f0605b39ac41de400afc9d5533a74c14935fdad4feaa0ca9d1c39238ba2b1de1e0c0b6735883bc8015f93aaa674e982926bfb5a9fd541953a387247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a747070a087379ddafae7fa62fe18e57e2d78faecf5d0a60bedb0ed6a7f560654e8df6d53671c12187887c18c2429c15a82eca21c479e4c197f62dad4fead0ca9d1bd66b926e4fa9373c74fde704b79132dd3f07aeb399834a2c6b5a9fd5b1953a3795984a676cb896a466c83088ee88483a28d383270306ae98e6b53fab732a746f13f1ba59a6d755744a5cc3915c7672f3fc6b2c0dd60d7771dd6a7f56f654e8de10a49a3e1b14d3141185e9a23852c867a39a7ddb7c1b0923cad4feadfca9d1bc1149347c3629a628230bd34470a590cf4734fbb6f836124795a9fd5bf953a378229268f86c534c504617a688e14b219e8e69f76df06c248f2b53fab7f2a746f04524d1f0d8a698a08c2f4d11c296433d1cd3eedbe0d8491e56a7f56fe54e8de0830ac96c7eb3596c952afca3049268f9e46c037791b0ac7cbd4feadfda9d1bc0f61592d8fd66b2d92a55f9460924d1f3c8d806ef236158f97a9fd5bfb53a3781e4ec4b3cc8338dddd178550b91af86673c74339e16c2cc33053fab7f7a746f03b299bc045dcd43e71fbd0c96a2c4ef4e23ac8cfbfd85b2a61a7f56ff04e8de0755337808bb9a87ce3f7a192d4589de9c475919f7fb0b654c34feadfe09d1bc0ea328159c449b37c7fbc094da0a799fb8397659afc616e4d879fd5bfc23a3781d36502b3889366f8ff78129b414f33f7072ecb35f8c2dc9b0f3fab7f84746f03a65617bfbdfd3074b6bceb5e7a94c6160909d8c7ee85bada1f7f56ff09e8de074b3841d828d0c36c25469ce4ed1fea540cbff3ebda0b77583ffeadfe14d1bc0e957083b051a186d84a8d39c9da3fd4a8197fe7d7b416eeb07ffd5bfc29a3781d2a6d19b9501970334ce739bbac7607782dac120b652ddf0500fab7f85446f03a536645cb4d0942e9519b399f50e26d1856046672c75bbfae02f56ff0a98de074a5589def46e8e8555b03396699bb3858a6b50f418bb7810006eadfe1541bc0e9493d4e373aa8332d6dd338f52b6cced9481660df146f03a40ed5bfc2a93781d29106aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a5210d5d8e444d91bb26e670249d9ff7b515b208344bbc11d83d56ff0aa6de074a421abb1c889b23764dcce0493b3fef6a2b641068977823b07aadfe154dbc0e9484357639113646ec9b99c092767fded456c820d12ef04760f55bfc2a9b781d29086aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a521061eb3cf1af7e352633c871d1f5d97955ccc5a0b8c11f27d66ff0aa6ee074a41f4fe8d290355eed0434570b9be2111aa645cd9d6e823ff3addfe154dec0e9483d2be3fdcd41205cc035743f2fba805d4737dd96da04818b5cbfc2a9be81d2907957c7fb9a8240b9806ae87e5f7500ba8e6fbb2db4090316b97f85537d03a520f23ba24fe1dae3f5b8a29724b6e05f9d178bb8b7651207d173ff0aa6fb074a41e30356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a0d5be1c230a9b8a447d1c596dc7588a70ecf2b1c90451ba3f85537dc3a520f141ab7c384615371488fa38b2db8eb114e1d9e5639208a3747f0aa6fb874a41e28356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a061d074cfe0fe0cfc49e28165bdb6b26b99350dc604535e4085537dc4a520f13f4fb3424c985e9cb0608b2ac371cb8cd1deac778908a860820aa6fb8a4a41e27d2b78dd46071fbc188ddc7d7ed9f5419e699b4b0f11526505154df7159483c4f956f1ba8c0e3f78311bb8fafdb3ea833cd336961e22a4ca0a2a9bee2b290789f239f5cdc4f2e1731a04381df35e332e7452af8839454b38155537dc57520f13e373eb9b89e5c2e63408703be6bc665ce8a55f10728a96702aaa6fb8aea41e27c673e98fc0a1e84f1fdda69fc56f2ae1cbf7007ce2152e845654df715e483c4f8b73e5782e1a3320f788136782d4b3eb929a4355c12a5eacada9bee2bd90789f1573dd49090ac8c4a6dcecf6fd9fc5ff1fe0c9077f54befd5c537dc57c20f13e2973cceabeebf40c0586a015f335ea263a6dd46afba97f9eb9a6fb8af941e27c5173ac2e2aae4a9ac2da0653de6232746f87eb31f45300e1744df715f383c4f8a1736ab50232f7b83d80d2cfb4bac310d9bc18bfe5a60366e99bee2be80789f14172e7c2b13c51f332ce6bc7616be449ae2473dbc84c0871d437dc57d10f13e28171e1de0f4f06691d699db6bace26bb56f52a138d981287a96fb8afa31e27c5016fd614cb746f54f2a001956d92ab9ea8969683183026b353df715f473c4f8a016bbe8243bf412c9d0cc952d31bb5654bd96f622d604f0aa8bee2be8f789f1401638f5d3454e4dbf1e658cd9e2dc8f2925f212057c09fb9527dc57d1ff13e280153311315802c3a9b9977c33451f00d1f6a849cac814116a5fb8afa40e27c500132747ed7d6baf7eeffb5ae609a3e4239814b95560283d14cf715f482c4f8a00164e8fdafad75efddff6b5cc1347c847302972aac0507a299ee2be90589f1400255e4540c314e6273cb9ce17a5f5730e0b170b1550a10e934dc57d20c13e2800337db00c538ff479f63ffeaecb50c89bc0f23bea71423766ab8afa41927c500056fb6018a71fe8f3ec7ffd5d96a1913781e477d4e2846ecd5715f48324f8a000a6b7e5bc1ba5fa1355cc5d3aaca904eeae8d15699508f7dabe2be90659f140013630f10304b21c5228651cf4d8b7ec5d07de5092fa1209f58c57d20cc3e2800255230790d6ca60cfcd969c6930d5bb39ba80c6e5c4242e2b28afa41997c50004930734ac7afae9cb17f99b51e11158f31fc5b38b58487696615f48333f8a0009160e6958f5f5d3962ff336a3c222b1e63f8b6716b090ed2cc2be90667f14001224ddf83cb951cf57dcb2cfc703ab464c29daf3ed3121f499957d20cd0e280024327d16044009c6db3632020d86bc6f17fe7a0d9a324403733afa419a2c50004854fa2c0880138db66c64041b0d78de2ffcf41b34648806e675f4833458a00090a2b57d9bcd8d439855946ab59a579edfa4ac5c289910280cfbe90668c1400121356afb379b1a8730ab28d56b34af3dbf4958b85132205019f7d20cd18280024263971bfa039b368cd31e0d55e8c45dfe3d7596623440ba73ffa419a315000484b72e37f407366d19a63c1aabd188bbfc7aeb2cc4688174e7ff4833462a000909671d9572dbd3025ec94497d722775a78a09a7f48a10304100e90668c64001212b6fc5070850c2ce90f55922dc4549770ebf92451120622602d20cd18d800242556b9c66bd77e81fd9b7786db080f116182b66e61f40c5f006a419a31c000484a9634b2627c632c26b3bb70358f840542b0310283b818d840e483346390009095152a8a4fc62c8078e44342ea9e6ded050b262ac74031cac1d90668c73001212a13163a2a59bf291d4552e854bc41bc89c1107b4e5063afc3c20cd18e70024254162c7454b37e523a8aa5d0a9788379138220f69ca0c75f878419a31ce00484a8251a0e343462cca0921803d2706cd4a6af0612f9118ed94f18334639d009095032f541f3362bc16ca0fc6a24603f8bcd08d04bb1f31dccde40668c73b01212a055ea83e66c5782d941f8d448c07f179a11a09763e63b99bc80cd18e760242540a4962d57a6152dde00be0b11006411b3ce0554879c774db9119a31ced0484a8131ed803a199083e77e4878a1802e05e746cececf08eeb5b23334639db090950253db0074332107cefc90f143005c0bce8d9d9d9e11dd6b646668c73b61212a04a077267333a837c975ee4505801dfa1cc5ff60fbf3baf108dcd18e76d242540930ee4ce667506f92ebdc8a0b003bf4398bfec1f7e775e211b9a31ceda484a81261dc99cccea0df25d7b914160077e87317fd83efceebc423734639db49095024c3b933999d41be4baf72282c00efd0e62ffb07df9dd78846e68c73b69212a04980338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e0ce32f81fa6930b6ec2cb5e051611302ae8d5fc2ebcab3774639db4d095024bc19c65f03f4d2616dd8596bc0a2c226055d1abf85d79566ee8c73b69a12a04978338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e05a4550cc7cf58e268f9185fd0c6f58259518582bbcacdb75639db4d195024bbf409cfa45d04d9f04ebe933f20f3cd845d6730c54795b5aebc73b69a42a04977d0d4c4d3876fdc0c1a4988fdc14d7d886592874a5f2b859d88e76d34954092ef91a989a70edfb818349311fb829afb10cb250e94be570b3b11ceda692a8125df2353134e1dbf7030692623f70535f621964a1d297cae1676239db4d255024bbe46a6269c3b7ee060d24c47ee0a6bec432c943a52f95c2cec473b69a4aa04977c860d72c34463e8ed2164f25b943dbb0603ec9a65c2b874189e76d34964092ef8f4dc0b11562dfa05bf964736a7e1588bb29d5a8b557102714ceda692d8125df1d2793bad79c21c36fbf8f0eccf2893970ffedad67ae21f22a9db4d25c024bbe394f2775af384386df7f1e1d99e51272e1ffdb5acf5c43e4553b69a4b804977c722a61440b46e99076cb02632bc0830dbeabf9119bb8896cab76d34971092ef8e354c288168dd320ed9604c65781061b7d57f223377112d956eda692e2125df1c6359768d9f208c492f8cfb4a6f86a5ef55c26a26be22756aedb4d25c524bbe38b6b2ed1b3e4118925f19f694df0d4bdeab84d44d7c44ead5db69a4b8a4977c716626ffc149e859503b004fa93d807a3d01cdce5ac889efebc6d34971592ef8e2b50f250d6136dacbf2cd01d1fa66d6f9ae5fc2756113fa179da692e2c25df1c552df6fa58fd3ddc362666623743390730783aaaa92280e6f4b4d25c594bbe38a95bedf4b1fa7bb86c4cccc46e86720e60f07555524501cde969a4b8b2977c715243ee4210cb59f390665fb0d5034244bc8d2d06a18a053fd3d34971662ef8e2a313eedcce6d1669d8998589a1fce2b173c69c6940140c23a8a692e2cd5df1c54527ddb99cda2cd3b1330b1343f9c562e78d38d280281847514d25c59abbe38a8a4fbb7339b459a76266162687f38ac5cf1a71a50050308ea29a4b8b3577c715142b893f203f15d17c98f27507dd73b398e125a5fda062c1463497166bef8e2a2757127e407e2ba2f931e4ea0fbae76731c24b4bfb40c5828c692e2cd7df1c544e3a37552dd2b9c8aa308ffc176c2cf65e30d8f3f3818ca919d25c59b0be38a89b008103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a808103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a800d156128ac768ee5b2e64ec6ae72df08a08640001af7d8a5b8b3627d715134ff1a2ac25158ed1dcb65cc9d8d5ce5be11410c800035efb14b7166c4fae2a269fe345584a2b1da3b96cb993b1ab9cb7c22821900006bdf6296e2cd89f5c544d3fc68ab094563b4772d973276357396f84504320000d7bec52dc59b13eb8a89a7f85d686b379dcb7112fb2b1462dd8c1884b4a65bfeaf7f2e5c8b3627d815134fef46e32f1c11f964ddc31c50bdb1765904158f13fa5f0000ba166c4fb12a269fdd19d8b6e4fa554c7352fec973594ada02d76083f1be01a5752cd89f63544d3fb933b16dc9f4aa98e6a5fd92e6b295b405aec107e37c034aea59b13ec6a89a7f726762db93e95531cd4bfb25cd652b680b5d820fc6f80695d4b3627d8d5134fee45ad80fd4a90ce65264bc7392c0b4f81167467b8af00ecfaa66c4fb1ba269fdc741c27856287c4f5c963f0f1d77c8181d7acf5312e01f4355cd89f63844d3fb8d0f974959275b2170f9444632e5ee5835a1e10222c0402aac9b13ec7189a7f7191f2e92b24eb642e1f2888c65cbdcb06b43c20445808055593627d8e3134fee323e5d25649d6c85c3e51118cb97b960d68784088b0100aab26c4fb1c6269fdc6408cca376113b8e3f96e8598f25d0e9a7bb4a6d130202f965d89f638d4d3fb8c7119946ec22771c7f2dd0b31e4ba1d34f7694da260405f2cbb13ec71a9a7f718e23328dd844ee38fe5ba1663c9743a69eed29b44c080be597627d8e3534fee31c46651bb089dc71fcb742cc792e874d3dda5368981017cb2ec4fb1c6a69fdc63818dc900dea1b66b13b4bc0ea536cc27660e92d2d20313a5e89f638d5d3fb8c6f31b9201bd436cd62769781d4a6d984ecc1d25a5a406274bd13ec71aba7f718de63724037a86d9ac4ed2f03a94db309d983a4b4b480c4e97a27d8e3574fee31bc52f6d91c273db841a7242f4a91c43badb38bc566018b76f54fb1c6af9fdc637732000ae524ddf33b1b0e868d19e69f561359e6c9031891eb9f638d603fb8c6ed640015ca49bbe676361d0d1a33cd3eac26b3cd92063123d73ec71ac07f718dda5412844169da4fa43900422c5df8a552f9a9f7210c63ebaf7d8e3581fee31bb33437612faa1722003ec6ac50b24f72a09f964a3f18c97b5ffb1c6b04fdc63765686ec25f542e44007d8d58a1649ee5413f2c947e3192f6bff638d609fb8c6eca5cefdd6b7ebf0ab8c7e0d93abf9bf27d2a9b84f963279180ec71ac14f718dd9345f21383d3e098295c87da6d75960cf5017965efc650c702d8e3582aee31bb2517f67fb47e23b30a85d5dcd2e18a41e4af3527dc8ca33206b1c6b056dc6376492fecff68fc4766150babb9a5c31483c95e6a4fb91946640d638d60adb8c6ec925fd9fed1f88ecc2a1757734b86290792bcd49f72328cc81ac71ac15b718dd9244bc65650c7801b0bfb750e8f02b0372025eb9ae1651b34368e3582b7e31bb247239f054e6562b8cfc3b04515fbbe963af81991bfca380c6e1c6b0570c637648d473e0a9ccac5719f87608a2bf77d2c75f033237f947018dc38d60ae18c6ec91a1a8e6de66bed65f6db873c4fe55880e68ca8a2fc28e1d5b971ac15c418dd9233351cdbccd7dacbedb70e789fcab101cd195145f851c3ab72e3582b8831bb24666a39b799afb597db6e1cf13f9562039a32a28bf0a38756e5c6b05710637648cc6085c7e035cdb26ea9000a7721222f2f118773de471051cc8d60ae21c6ec91974d1de86d41fde7951ec63ce638a28658cf5143b98e22479a1ac15c448dd9232d264e29875a5e51e20a52a1c467a334ac4ae4e3701c4633353582b88a1bb246594c9c530eb4bca3c414a54388cf46695895c9c6e0388c666a6b05711437648cb2254afeca3fdbca3ff610af0994eafaabd7d5e9bd711a70d5d60ae2296ec919634a95fd947fb7947fec215e1329d5f557afabd37ae234e1abac15c452dd9232c6213e53d5d5d1abb7a508e41e4a0a12aa0b9a02f2c46b6758582b88a6bb24658b427ca7ababa3576f4a11c83c94142554173405e588d6ceb0b057114d7648cb16110ba8042da9319660e9b8711e8672a2daaa67c811af416260ae229bec91962b221750085b52632cc1d370e23d0ce545b554cf90235e82c4c15c4537d9232c56442ea010b6a4c65983a6e1c47a19ca8b6aa99f2046bd058982b88a6fb24658ac146f98ce43ac0f6ad413eb80ea91bd1181959a3d8d7baf14057114e0648cb15728df319c87581ed5a827d701d5237a23032b347b1af75e280ae229c0c91962ae51be63390eb03dab504fae03aa46f446065668f635eebc5015c453819232c55c2f8f1f1ef3c2fe0e6d6583ff4aec1086b8ef2de96bdf1ca12b88a70424658ab75f1e3e3de785fc1cdacb07fe95d8210d71de5bd2d7be394257114e0848cb156e4a4ed528a56e7af1825c37f5220e6a158fff13a2af7e1685ae229c1191962adb20b002fe213f789ad17e97e23a7afc25cc4083425efdd10c5c453824232c55b5416005fc427ef135a2fd2fc474f5f84b98810684bdfba218b88a70484658ab6a0ed264a55b60652312c08780e04a1891dd4469067bf8e8327114e0918cb156d31da4c94ab6c0ca4625810f01c0943123ba88d20cf7f1d064e229c1231962ada63b4992956d81948c4b021e03812862477511a419efe3a0c9c453824632c55b4c02a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e0a95f75ec596af418b298ffbe2bbb226599690c37f239652229c1235962ada5c152beebd8b2d5e8316531ff7c577644cb32d2186fe472ca44538246b2c55b4b82a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e03571ce992fcd76d07f5f27b622194a6045ab6834f23b092329c1235a62ada5bf6ae39d325f9aeda0febe4f6c443294c08b56d069e4761246538246b4c55b4b7e61d9931195985df9ca42c6d07ec3517bc2effcd0c8edc88da7048d6a8ab696fb4fc57ed001933eab614bb598f3e4caf23222559e91dd351c4e091ad6156d2df52b9d564cd989000e8f5d9329de27bddf1087073a23bc0e399c1235ad2ada5be9573aac99b312001d1ebb2653bc4f7bbe210e0e7447781c7338246b5a55b4b7d23a87b1e03c8682f20a3c749f6efd1f76ee5e78e58ef1dce77048d6b5ab696fa30121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d14090de36a7b7c44df09f889b6a2c3374447fa6e40ef2aee7f048d6b62b696fa28121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d1401cf08f548e26d0a86c4ec36222919c3f2be9400bf2b08bf148d6b62c696fa27f39e11ea91c4da150d89d86c44523387e57d28017e56117e291ad6c58d2df44fe73c23d52389b42a1b13b0d888a4670fcafa5002fcac22fc5235ad8b1a5be89fc7396d351479907fb2f3c43090aeb09f40b8c5c5c9586038b46b5b1644b7d13f7733fff4f659492ae2b3eae0a0c343be2c35b14b62b0dab178d6b62c996fa27ed7292574ba18ba8142343840c0ec69fc032f88569561cfa301ad6c5942df44fd9713707441979d2e0134d301013eb677b123366cfac3b986135ad8b295be89fb16e80673509562877f36088181e34f6f0d0a9299c5878d4c36b5b1653b7d13f6169132716e90ed3a7b387382832c815dc4d94af35b0f34d87d6b62ca86fa27ec15e38a6daa8802a0733d498485bee53b3476bba6861e83f10ad6c5951df44fd814883a6622762d6c6346f5888ae3acf613b19d0cdc3d222225ad8b2a4be89fb011d19a5712528304435a4d90952d3c6bd2275fd9887a5e845b5b1654a7d13f6013a334ae24a5060886b49b212a5a78d7a44ebfb310f4bd08b6b62ca94fa27ec020078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec018078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec01800500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff0a01942fb34c96b64ca48a7347422e618d297637328d77af8b2a55ea9fb005fe1403285f66992d6c994914e68e845cc31a52ec6e651aef5f1654abd53f600bfc280650becd325ad9329229cd1d08b98634a5d8dcca35debe2ca957aa7ec017f8500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff02c2b9ba80b2bee1c970ecf2c6a810e137ed9bf7028d91ef9b2a55eaafb005fdf585737501657dc392e1d9e58d5021c26fdb37ee051b23df3654abd55f600bfbe3cc0c74d03123b2a290164a9a0626048a7a959bda3661fe7ca957aacec017f7b0593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef50b27ce8db90df2183d91e2966e45d117f72a1ef08d9bc7a12a55eab5b005fdea164f9d1b721be4307b23c52cdc8ba22fee543de11b378f4254abd56b600bfbd42c9f3a36e437c860f6478a59b917445fdca87bc2366f1e84a957aad6c017f7a8593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef503e8f41886741a43ba5e4515edabb397a1ee44b05d9be1e13a55eab5c005fde9f0930dbbda4e5cb2f188ecab5abd49aeeea0af208b37de0284abd56b900bfbd3d1261b77b49cb965e311d956b57a935ddd415e41166fbc050957aad72017f7a7a24c36ef693972cbc623b2ad6af526bbba82bc822cdf780a12af55ae402fef4f44986dded272e5978c47655ad5ea4d777505790459bef014255eab5c805fde9e81f20148724bf35a955b2d352b3a7d6e94cf17c8837dfa685abd56b910bfbd3cf3e40290e497e6b52ab65a6a5674fadd299e2f9106fbf4d0b57aad72217f7a79e0892aac9695f595d23917542c4fd839fe0084e1ddf803e17af55ae452fef4f3b11255592d2beb2ba4722ea8589fb073fc0109c3bbf007c2f5eab5c8a5fde9e76224aab25a57d65748e45d50b13f60e7f802138777e00f85ebd56b914bfbd3cec4495564b4afacae91c8baa1627ec1cff004270eefc01f0bd7aad72297f7a79d8153d05436c58188a05dd7c24463661f8acc73ddaf805857bf55ae453fef4f3af2a7a0a86d8b031140bbaf8488c6cc3f1598e7bb5f00b0af7eab5c8a7fde9e75e54f4150db16062281775f09118d987e2b31cf76be01615efd56b914ffbd3cebc35fa82c839234707fbb2091a281137c0127c4ad4c02dcfe0aad722a0f7a79d776bf5059072468e0ff764123450226f8024f895a9805b9fc155ae4541ef4f3aee63fc63cdbaef9ed7bb8e4c6096a306faf633875000b8e383ab5c8a84de9e75db540b20484c41c06743e2c0b923a435f098a96a9d01736b0856b9150abd3cebb53428993d6ee60386548ba96a3da693dbdd95313702e87a11ad722a167a79d7696851327addcc070ca91752d47b4d27b7bb2a626e05d0f4235ae4542cf4f3aed25cb4bda291fa90d11ef4cda0ecf8776a229720d90ba38c47b5c8a85ae9e75da3457bd3f1fa57a45a0aafc339d04f16cef1709daf1748bc906b9150b6d3cebb45170a0090cb11cb6be225ae6b96fc55988f23975b2e931d21d722a16ea79d76892e140121962396d7c44b5cd72df8ab311e472eb65d263a43ae4542dd4f3aed125c2802432c472daf8896b9ae5bf156623c8e5d6cba4c74875c8a85ba9e75da2444625d332ef0de16ddf39b54ae40d4bf255f16d6749a8d0fb9150b763cebb44714d7131334443ee588ad5ea152dfd178f70089a9e936be20722a16ed79d7688d29ae262668887dcb115abd42a5bfa2f1ee011353d26d7c40e4542ddaf3aed11a535c4c4cd110fb9622b57a854b7f45e3dc0226a7a4daf881c8a85bb5e75da23432caf146788479e412311d028d5cb3c26446a94c49b795049150b76ccebb44676595e28cf108f3c824623a051ab96784c88d5298936f2a0922a16ed99d7688ce573e1dc6b8746a48158a9c022bd0f7043d5d012e26dff8134542ddb43aed119b3a8e943a474b5747f7db5ffc4e00160326fc5e594dc194278a85bb6975da2335012f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4097c090b27c98a3de3e73f8492f2a007d1d8c57cdc266280a85bb69f5da2334812f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4023d2e95f52fb26960b3a204125882877c9ceb3cac267cc0b85bb69f6da23347f47a5d2bea5f64d2c167440824b1050ef939d679584cf98170b76d3edb44668fe1b5dfe2a224f1d0ff9aea8fc8c7ec9d9d37d2b2809a0d42f16eda7dc688cd1fb36bbfc54449e3a1ff35d51f918fd93b3a6fa56501341a85e2ddb4fb8d119a3f66d77f8a8893c743fe6baa3f231fb27674df4aca0268350bc5bb69f71a23347ec670249fde8db6b379a3b6fdc5a5476c9482bb53d4d084579b76d3ee444668fd75a16eca8a8195927013d07b0ab07158d3c99c6779a122ef46eda7dc988cd1fad404031fe26953505cf4037594c6c53152575e8ec342601e9ddb4fb94119a3f590c92bca9238cecc36b4696aa8f36ce24f72e2dd5684da7d4bb69f72923347eb1192579524719d986d68d2d551e6d9c49ee5c5baad09b4fa976d3ee524668fd62324af2a48e33b30dad1a5aaa3cdb3893dcb8b755a1369f52eda7dca48cd1fac46495e5491c67661b5a34b55479b67127b9716eab426d3ea5db4fb94919a3f588553e233f0f314eee812f92a0e9cb0a4a1f25395384dc214cb69f72933347eb0f368e9f2af4c52094cf254d39c9f43c8eea8ccea409b9e69a6d3ee527668fd61d6d1d3e55e98a41299e4a9a7393e8791dd5199d481373cd34da7dca4ecd1fac3a664cd558a977050b095b5cdf1e2f1a365675968d26e93e6ab4fb949e9a3f587358ac035e29508ccddf7ce1b632bc5c67592d89174dd420d669f7293e347eb0e53d6a5f6929039c538bbfeb645bd6e0c95e9d6e2b9ba9e5add3ee527d68fd61c906e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac3910dce2efe50d376bdc88bfd815c17d31ad2fa70a86eaadeb94fb949f7a3f587221b9c5dfca1a6ed7b9117fb02b82fa635a5f4e150dd55bd729f7293ef47eb0e443738bbf9434ddaf7222ff605705f4c6b4be9c2a1baab7ae53ee527de8fd61c886e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac391068f54891e399ee945586000db7db59a7dbe96683eaaf8f95fb949f7b3f58721f5dfce9d09d965fe077d228136614db4a64152904d560c32cf7293ef77eb0e43d480c2c4e118f4278bc6a781ec287de8f746cae06aac32a5aee527deffd61c8791c2ab148f98107a9459b18357b6de519951bb80a5587f8b6dca4fbe0fac390f138556291f3020f528b36306af6dbca332a377014ab0ff16db949f7c1f58721e270aac523e6041ea5166c60d5edb79466546ee029561fe2db7293ef83eb0e43c46d67e2f4a26ac001f99ee9a3d1cd50c755201c4fac4169b7e527df08d61c878766e21e961b3802bbc003fb3f99f8c9895682949c58847770ca4fbe12ac390f0d59d695d90cd2882f4cce1e772a4fbb0d59478535b10a92e2949f7c2658721e193fbf845ef0079316666264e64afd9e155ed166686216c9c6293ef84db0e43c310b91616ab671a8e4998af1c48c59642569e528cdc42f378d527df09c61c878611722c2d56ce351c93315e38918b2c84ad3ca519b885e6f1aa4fbe138c390f0c22e4585aad9c6a392662bc71231659095a794a33710bcde3549f7c2718721e1845c8b0b55b38d4724cc578e2462cb212b4f29466e2179bc6a93ef84e30e43c30845286f583d7d110165754440bbf46a514a94e8d942f51cd627df09c71c87860f1663375d515ca4ba97b0b0796e46fc9d416c2daf85ebddad4fbe138f390f0c1d2cc66ebaa2b949752f6160f2dc8df93a82d85b5f0bd7bb5a9f7c271e721e183a598cdd75457292ea5ec2c1e5b91bf27505b0b6be17af76b53ef84e3ce43c30743f2c13976147a88c8a4babc368960ce4b7a3c9792f60916b7df09c7ac87860e70a6a7fdb98f1d3d0e15d7f7ec78a41c41b89eeef5ec2c6d7fbe138f690f0c1cd14d4ffb731e3a7a1c2bafefd8f1483883713dddebd858daff7c271ed21e1839a29a9ff6e63c74f438575fdfb1e2907106e27bbbd7b0b1b5fef84e3da43c307345353fedcc78e9e870aebfbf63c520e20dc4f777af61636bfdf09c7b487860e6832ba5666657fbfc5e29e1fe46f02443c64e14af2ec2e1180be138f6a0f0c1ccf6574accccaff7f8bc53c3fc8de048878c9c295e5d85c23017c271ed41e18399e56fbb2466c6181cf573ea789b26738ec3fc787c8b0b9ea03f84e3da93c30733b3a09bd39af2586567b43770b5b2c99d32bd16b8e61757808f09c7b537860e6750025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200235ed97f8ca015c5011e62aad3ccac0a410ec308b251ef85e3da9fc40733a3ff46bdb2ff19402b8a023cc555a7995814821d861164a3df0bc7b53f880e6747fe198dbeab08e2d9cbd13fb2a34590d823b07d681fc94962188f6a7f111cce8ffb331b7d5611c5b397a27f65468b21b04760fad03f9292c4311ed4fe22399d1ff66636faac238b672f44feca8d1643608ec1f5a07f252588623da9fc44733a3fec58804e051d79511656c3bd1222e4e918302d9cfb4a4cb4c57b53f889e6747fd73d12f4b7115524e47a4da21c3c27fa2b0c9d95f3949b0d8bf6a7f114cce8ffad0638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590c708435f219990182c2d860dd5c38a18afb0fc8526f7e31da9fc45533a3feb218e1086be43332030585b0c1bab8714315f61f90a4defc63b53f88aa6747fd6431c210d7c86664060b0b61837570e2862bec3f2149bdf8c76a7f1154ce8ffac8638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590531a9c0bf7fc12cff8f3ae05cc21b2135bf3588226f9871ea9fc45543a3feb1f324790c4c65aa857bead84038ea18c2164290d014df4b23e53f88aa9747fd63d648f21898cb550af7d5b08071d431842c8521a029be9647ca7f11552e8ffac7a55309bbfefcd2416c77c380630e458803ce6900237d46cfa4fe22aa6d1ff58f33673902cb5fccae55bbe98045826d8fb260f7c016faa7df59fc4554ea3feb1e56ce720596bf995cab77d3008b04db1f64c1ef802df54fbeb3f88aa9d47fd63ca65e0995fae55ae4d3bc0880956f98be744804c02beab9bd77f11553b8ffac79357d38b6c330ddf524447380aa4513fc93542f4027d58dbaffe22aa781ff58f253bb96f853c7e415c5554980d3f00a78d16c84401fab35b60fc4554f13feb1e49038537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac79220e14dedd3d7c15c1ddbd6049d17ddc53674b9003d5a16b0be22aa78dff58f2441c29bdba7af82b83bb7ac093a2fbb8a6ce972007ab42d617c4554f1bfeb1e48838537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac792206d604680ae23ded5a89c2c950e3bed3120fb5c3a5a1854bf22aa78e0f58f243f66d2e5ae32aa40631dfe812212d6025cee391471b4324d7f4554f1c2eb1e487d59b824093bb7037e08c32a3c1c0a2cb488b484e068663eff8aa9e386d63c90f93f82a0bf4dd089b3de4c7c702e728163bdab65bdd0ce22001553c70eac7921f10b179a2b7203961f895f20d853432ac227992778a19de8012aa78e1e58f243e1162f3456e4072c3f12be41b0a68655844f324ef1433bd002554f1c3cb1e487c22c5e68adc80e587e257c83614d0cab089e649de28677a004aa9e387963c90f8458bcd15b901cb0fc4af906c29a1956113cc93bc50cef4009553c70f2c7921f083d8bfb63f69be4b062b8357d2a90d41d25d4d38719e02413aa78e1e68f243e0f072a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0e549ee987349831246d25e496ffa069efd806166783d850a9e3879c3c90f83a1ca93dd30e69306248da4bc92dff40d3dfb00c2ccf07b0a153c70f387921f07439527ba61cd260c491b497925bfe81a7bf6018599e0f6142a78e1e70f243e0e872a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0715c474549ac05ca1398864166582e99a9c2bd63783f290b9e3879c4c90f839f6ecae73769ba8e4bf3f7347ac30e852dffc7d6c3f07ff6183c70f38a921f073d69a8271ba9d79f4fb4b490ed7c7b3256abd20984e101903178e1e716243e0e795f62a6e42a11c157362f49d2ef548ca803e66f06c204c463f1c3ce2d487c1cf14ad7a6752a8605663924bb9dd507414ab40f3a0a840b2cc8e3879c5b90f839e121c1a5972b6e8d843f0f9f33a06caa901460d0120817fd92c70f38b821f073c143834b2e56dd1b087e1f3e6740d9552028c1a024102ffb258e1e717043e0e7821318ef09841cb8c8c904a4c67810d23afdc59c4520619a4c1c3ce2e187c1cf032631de13083971919209498cf021a475fb8b388a40c334983879c5c30f839e064c63bc261072e32324129319e04348ebf71671148186693070f38b861f073c0c24d9d0f8f74848fe14eb4e2bb6e4b9d29a6f3e26030e7661e1e7170d3e0e781749b3a1f1ee9091fc29d69c576dc973a534de7c4c061cecc3c3ce2e1a7c1cf02e1f799c90b383a6b0207360a6d1f10f4515ff54950c3b7d88879c5c35f839e05b3ef3392167074d6040e6c14da3e21e8a2bfea92a1876fb110f38b86bf073c0b609f8caefa4711d784e93aa933e22650f043fae5130ef9a231e7170d8e0e7816b13f195df48e23af09d2755267c44ca1e087f5ca261df34463ce2e1b1c1cf02d627e32bbe91c475e13a4eaa4cf889943c10feb944c3be688c79c5c363839e05ac4fc6577d2388ebc2749d5499f113287821fd7289877cd118f38b86c7073c0b582b9f07a71d745a3cb600d12bd88478eaf03d41100efb4632e7170d8f0e7816af573e0f4e3ae8b4796c01a257b108f1d5e07a82201df68c65ce2e1b1e1cf02d5e3a8e77494c33ebaaa4c96ca758700ba66d37603d3beebccc9c5c363d39e05abb012f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4097a39fb7652d068b2c80a3539f1fa3c3588e3bbbef8ecd1c5c363db9e05aba812f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4023b5f8643b8f8942f946cb4b957dcbbe04d097b8ef90711d5c363dbae05aba7f476bf0c8771f1285f28d96972afb977c09a12f71df20e23ab86c7b75c0b574fe1aea3a3dc4a0a7c3b1e155264c5556f2bf84bae0be43687670d8f6ec816ae9fb35d4747b89414f8763c2aa4c98aaade57f0975c17c86d0ece1b1edd902d5d3f66ba8e8f712829f0ec785549931555bcafe12eb82f90da1d9c363dbb205aba7ec63642a9afb67c0d55bd0d12a5908df90a8683302f21ce7b486c7b7650b574fd752daade2cd3204628467ca4ca86fe71bfd12c202e43b736a0d8f6ecb16ae9fad31c7b47270c68b7cd595bc91473df632a667e002c8788ad51b1edd972d5d3f59638f68e4e18d16f9ab2b79228e7bec654ccfc00590f115aa363dbb2e5aba7eb253312a76997cb0ab231d1a3d135600c545e1dc0821e3cf556c7b765db574fd633274ad9a095be40e13005c721d0a29853806140d43c942abd8f6ecbc6ae9fac564e95b3412b7c81c2600b8e43a14530a700c281a87928557b1edd978d5d3f58a55e50f14fbd212f018c799c06a86ce0f8c5aac320f26aeb063dbb2f2aba7eb1337dc76d6ce06a897fe555b78cb6bc419c4f7b4611e4f0161c7b765e6574fd6256fb8edad9c0d512ffcaab6f196d7883389ef68c23c9e02c38f6ecbccae9fac4a6b8434080e7d2517c61b95db240d3861c0212d81793da9881edd979a5d3f5893631ac0bcf35ccce758fd53ae3e7898be2c84b6fff27cf7113dbb2f35ba7eb1255247da26bd1c1c867ec0cf54734f5977054bc9fce4fb92237b765e6c74fd624930a20cfa509abbc4ca47c6a0dcfcdae8b6d9eff6c9f8c847f6ecbcd9e9fac491614419f4a1357789948f8d41b9f9b5d16db3dfed93f1908fedd979b3d3f589224e9a8c9618cd71caf5e5427b6a51939d87aa1bd827e4c520dbb2f368a7eb1243294771d907fd664db890aceecb014f35bb9693ad4fcb2e42b765e6d24fd62485528ee3b20ffacc9b712159dd96029e6b772d275a9f965c856ecbcda49fac490a31302010f6581beeaf08dbb3226364d19a9caab23f2e5d0bdd979b4a3f58921362604021ecb037dd5e11b76644c6c9a3353955647e5cba17bb2f36947eb1242650d2d8f0afc2f27288e996c47febbb4116b506c5fcbb1830765e6d29fd62484b2db80a8e35e8679cde995580f6359e7cd9ac6988f977d461ecbcda54fac490955b70151c6bd0cf39bd32ab01ec6b3cf9b358d311f2efa8c3d979b4a9f589212a42f282e5ae04212b472b7dfbcf34a1ee12f40220e5e0f588b2f36954eb12425311f75e78326ac50e5b1d23ef94c76bd6d22a603ecbc38f1265e6d2aad62484a523eebcf064d58a1cb63a47df298ed7ada454c07d97871e24cbcda555ac49094a47dd79e0c9ab14396c748fbe531daf5b48a980fb2f0e3c49979b4aab589212941bcd4c6e69b8ab2aa5af47749c9986b13d955df35e1e1c942f369557b1242527379a98dcd37156554b5e8ee939330d627b2abbe6bc3c39285e6d2aaf62484a4e6f3531b9a6e2acaa96bd1dd272661ac4f65577cd78787250bcda555ec490949c6a7cbc202427dc0cfa40639cdb2a5d8498ed4b97f0f288a279b4aabe89212937610bd0ed1eb23ad1c146ef31acb2e303de1cf32ce1e6b545f369557e1242526d4e29fa8713c6f85b4f54065b4fc3ee02687c4256c3cf0e8ce6d2aafd2484a4d928664dbafdf0736e6b6e34ae95e603ff7d3ae0aa879fc11acda555fb490949b150cc9b75fbe0e6dcd6dc695d2bcc07fefa75c1550f3f82359b4aabf6921293622dab8f98ce2450717a7efab24df637f8a12ddea71e80a86c369557ee242526c35b571f319c48a0e2f4fdf5649bec6ff1425bbd4e3d0150d86d2aafdc484a4d8642c097100ef3c47db6c212c12e3707dd30f9d6997a0445b1da555fb990949b0b119386ccf44a0bb33a4a4d7a52cc37b50e36092ff40a2f64b4aabf742129361523270d99e894176674949af4a5986f6a1c6c125fe8145ec969557ee842526c2a464e1b33d1282ecce92935e94b30ded438d824bfd028bd92d2aafdd084a4d85418ae8f1478b2e0519f1893ca8cbfe5a31df2a57ca0531f26a555fba20949b0a7315d1e28f165c0a33e312795197fcb463be54af940a63e4d4aabf7441293614e62ba3c51e2cb81467c624f2a32ff968c77ca95f2814c7c9a9557ee882526c29c5186d1509bf98544c58ac64c5c5d55139bd787e2029a9d362aafdd114a4d85372f1ffb4e0e558d4157dbb490af18d221e3f16bc10536de6d555fba23949b0a6d5e3ff69c1cab1a82afb769215e31a443c7e2d7820a6dbcdaaabf7447293614da489245e50fb8b7bd2c34fa3ab2c170823c080b0114dd1db6557ee88f526c29b31d36e476f5d3f23225301c6d5be108ff245271ff29bbdf6daafdd11fa4d853653a6dc8edeba7e4644a6038dab7c211fe48a4e3fe5377bedb55fba23f49b0a6ca00edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c076f54456d925c030c34cd6b2f125fb9ec611fcd37890dbd5fba23fc9b0a6c980edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c003079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe0c1e740ebe210ba2404bfaab9e108e65c9516341e249ff5bee88ff2ac29b25fc183ce81d7c4217448097f5573c211ccb92a2c683c493feb7dd11fe5585364bf83079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe04df99998b8733cdbd185d2b1d7670e574158901b24a199bfe88ff2ad29b25fbf28058bde4748fc6f6fd1cd5ba52c44a92ef37c334944d780d11fe55b5364bf7d500b17bc8e91f8dedfa39ab74a5889525de6f8669289af01a23fcab6a6c97efa2c288825f38674758c0d5d668b0f3a9f68104cca25150204447f956e4d92fdf35851104be70ce8eb181abacd161e753ed02099944a2a040888ff2adc9b25fbe63cb47944a47c548dfcfb9d92229b12784c838f259455ac1211fe55ba364bf7cb057b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef950af6966c3eb657a78d7ac638772899d68a92f4905159f84a47f956ead92fdf2a15ed2cd87d6caf4f1af58c70ee5133ad1525e920a2b3f0948ff2add5b25fbe542bda59b0fad95e9e35eb18e1dca2675a2a4bd2414567e1291fe55bab64bf7ca857b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef9503b7bbf70c1c7fd30a4728b7f68e7c5635571a50215a128a57f956eae92fdf29f0309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a0c275e3967c9f46456acfbdb20b6cb055c969804ad0fd52ffcab757897ef94f4184ebc72cf93e8c8ad59f7b6416d960ab92d30095a1faa5ff956eaf12fdf29e8309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a04e883c435301c8fd3795e5aa01cad85075abdc47d0fef700cab7578a7ef94f3f2922d1337c6614b23bf1f34bf9f3d89b979a148ca1ff9202956eaf15fdf29e7d5245a266f8cc296477e3e697f3e7b1372f34291943ff24052add5e2bfbe53cfa309d9d7ac7fad580bc8df527de2d8a690aaaae2f87ffec0b55babc58f7ca79f3613b3af58ff5ab01791bea4fbc5b14d215555c5f0fffd816ab7578b1ef94f3e64e88ce97f64dd8babefdfc976f14519ed6ed14bb2001542e56eaf164df29e7cb2923f5dcc2fe342d4ac22126d486cb385a1c857340044c5dadd5e2cabe53cf955247ebb985fc685a9584424da90d9670b4390ae6800898bb5babc5957ca79f2a30a2301fe25b536cf7ceac93487954dc14b471ca0012d577b7578b2bf94f3e536144603fc4b6a6d9ef9d592690f2a9b82968e3940025aaef6eaf1657f29e7ca64e9b192c5fcfd06bac00da4518437b6aff142325004cf9dfdd5e2cb0e53cf94b29488b059602238f24c7dc8226e51ed0aa6aa247009b97c0babc5962ca79f2955291160b2c04471e498fb9044dca3da154d5448e01372f817578b2c594f3e52a313484c32e6b10f45fe59a0091f2a33d55ece51902700303eaf1658c29e7ca53626909865cd621e8bfcb340123e5467aabd9ca3204e00607d5e2cb1853cf94a650e46bb9900ec6894c5c8ffa3e28b4f003f5f06109c1b010abc59631a79f294b2ddb301ff6800fca657f47ec72af91dab42e3cbf13850422578b2c644f3e52955bb6603fed001f94cafe8fd8e55f23b5685c797e270a0844af1658c89e7ca52a437f192cb062c1e162c347a9c11c6f657cfb4ef94e15b48a5e2cb1923cf94a5313108b063728067a924cb74b789706c5a638f9ef9c2d0d15bc59632579f294a52621160c6e500cf524996e96f12e0d8b4c71f3df385a1a2b78b2c64af3e5294a4c422c18dca019ea4932dd2de25c1b1698e3e7be70b43456f1658c95e7ca52942496b0de8fa2b68c5f2be253bb165e27de0a2b79e16a0caee2cb192ccf94a527492d61bd1f456d18be57c4a7762cbc4fbc1456f3c2d4195dc59632599f294a4e1e6d1c2714ed5ce94975b146e2b7a09a246b09e485a9d6bc8b2c64b43e52949b3cda384e29dab9d292eb628dc56f413448d613c90b53ad791658c9687ca5293605c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b0b8d9292542fecb9e539da27027954c67bdd071e2d51fde6596325a3f294a4d6171b2524a85fd973ca73b44e04f2a98cf7ba0e3c5aa3fbccb2c64b47e52949ac2e364a4950bfb2e794e7689c09e55319ef741c78b547f799658c968fca5293585c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b044eb81d219614e562063ca681df374626a12cddfd521826696325a40294a4d5f15e95c5109251f640d8dbcc8324510bf8067f7bcaa44a8ce2c64b48152949abd2bd2b8a2124a3ec81b1b7990648a217f00cfef795489519c58c96902a529357a57a5714424947d903636f320c91442fe019fdef2a912a338b192d2054a526af43b5d3b351f8b7dd839340e398886adf6af8219e25226ea726325a40b94a4d5e702cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a0b333c5c55e5f9a0fcb911ac1dae0fa02d1a3f06913de397192d2060a526af34166678b8abcbf341f97223583b5c1f405a347e0d227bc72e325a40c14a4d5e682cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a03f461e7234c21cc7985742b9d13f21fd7de64c6613dfdd7292d2060b526af33f0a9e95913fe6bc46fd74ad6b98dc6bf5a80ef4c927c15ee625a40c17a4d5e67d153d2b227fcd788dfae95ad731b8d7eb501de9924f82bdcc4b48182f49abccfa2a7a5644ff9af11bf5d2b5ae6371afd6a03bd3249f057b989690305e935799f454f4ac89ff35e237eba56b5cc6e35fad4077a6493e0af7312d2060bd26af33e835fbb1c0d4ce4727a410feb18424e7552d31a88f7c1792635a40c17b4d5e67cf6bf76381a99c8e4f4821fd630849ceaa5a63511ef82f24c6b48182f69abccf9e64011fb0299b9f565d0a22be06f1c54f6108fe3af05fed8e690305ee35799f3b5414980d2999c16486da6d740441b2996e545872e0c17f1dd2060bdd6af33e75343b88c729960580da7b02dffee18d2d88eb0ce2c184a23ca40c17bbd5e67ce96877118e532c0b01b4f605bffdc31a5b11d619c58309447948182f77abccf9d25d007bc97cba98bb36b23377f1e45cb0cfee8f8806142cf390305ef05799f3a34613503fcfd7b42e3a2a8ee7da26e15c4c1f7b0d0c29fde82060bde1af33e7451838f92c7611eb14411b45c7aaabeab34481521718559fd140c17bc45e67ce893071f258ec23d62882368b8f5557d5668902a42e30ab3fa28182f788bccf9d1260e3e4b1d847ac51046d171eaaafaacd1205485c61567f450305ef11799f3a244dda221086f1db59d5a056354bbd7d94d04cecb5c2aea28b060bde23f33e744727c69ccde446396b7806d4628dd923244cdc3568855ee9170c17bc48e67ce88d4f8d399bc88c72d6f00da8c51bb2464899b86ad10abdd22e182f7891ccf9d11a2b2ccbe4677b6865ace179822dc2b48bdfb3319f157d485d305ef12499f3a233565997c8cef6d0cb59c2f3045b856917bf66633e2afa90ba60bde24933e7446638c5883e7450244e804c0e00ad68fa2a2b0f227955f6c575c17bc49367ce88cb718b107ce8a0489d00981c015ad1f454561e44f2abed8aeb82f78926cf9d11966f2879a6a7a313f1cdf65ffaac0210a3587ee5e257dcb9d805ef124e9f3a232b6a634bfa25a8aa9b68b2e7ed4e6249415d4027c1afbb17b10bde249e3e74465560d8f0a121b3d7ee9e2bf7d29322ba7d66c2ab805f77d36317bc493d7ce88ca94dc439ef19ca3295091e179d1ca39cf579c7b2fdbef14ac72f78927bf9d11951279acc8b09f6e7e1df0257322fa561e59fd1c1f87de4398f5ef124f8f3a232a14f35991613edcfc3be04ae645f4ac3cb3fa383f0fbc8731ebde249f1e74465422a7d8ad8fe3e223f48cf84c0b4f3af912b8963def7928a3e7bc493e4ce88ca8354fb15b1fc7c447e919f098169e75f225712c7bdef25147cf78927c99d11950636088410cf5b0bb4f0043afaca2ce63f5a67eb78de4bccfaef124f943a232a0b6c1108219eb61769e00875f59459cc7eb4cfd6f1bc9799f5de249f2874465416643468f013ceb18b8cd713e31f11c0f815e209e07930d7ecbc493e51e88ca82b547b2a8cfdffe5cee6744fbe3481a9ead8066fbdf26353da78927ca4d11950553508adc6d2624e5599aec7745f617bd05c4f3b78e4c84bb5f124f94aa232a0a96a115b8da4c49cab335d8ee8bec2f7a0b89e76f1c990976be249f2954465415260350fc81febbc0e338145c973e4173c1d7f49e09322d2d8c493e52b88ca82a34c7c783d1639fad433c8b38ade265672e740efbe264749b28927ca5811950545250b492702d6786034578f0db2aad4e07ac43b794c903766124f94b1232a0a894a16924e05acf0c068af1e1b6555a9c0f58876f299206ecc249f296246541512203f7d48e1bc64389e24642ec1097b7c975349e232428199493e52c58ca82a23407efa91c378c8713c48c85d8212f6f92ea693c464850332927ca58b195054460d104dd05d54139a4557b8b2fa8415ed098f8385c90baa6624f94b1732a0a88b1a209ba0baa827348aaf7165f5082bda131f070b921754cc49f2962e654151163441374175504e69155ee2cbea1057b4263e0e17242ea99893e52c5cca82a22c68826e82eaa09cd22abdc597d420af684c7c1c2e485d533127ca58b9950544585d1735b2aba3bc5c2241b3279e9f86cb453a945990bc4a634f94b1742a0a88af4640c4122da9fb7011498e47339d359136b784b0217a38c79f2962e95415115d1893e0d131b67997ef5944865d98931d19b1655d42f615903e52c5d3a82a22b93127c1a2636cf32fdeb2890cbb31263a3362caba85ec2b207ca58ba750544572624f8344c6d9e65fbd65121976624c7466c595750bd85640f94b174ea0a88ae450b15f3664164f7747904c2ae322c0e379cd86e717b25082f2962e9e415115c72d7517199e8f21a65be6c04dbca3a9c19fdd69cb2f664506e52c5d3d82a22b8d5aea2e333d1e434cb7cd809b794753833fbad3965ecc8a0dca58ba7b0544571a41e6b513509f09513c61292ee8eccf012bb80329bd9ab81c94b174f70a88ae330fdfc2d377a0955a45887a55c837c5fd03b262507b37143a2962e9ef15115c651fbf85a6ef412ab48b10f4ab906f8bfa0764c4a0f66e287452c5d3de2a22b8ca3f7f0b4dde8255691621e95720df17f40ec98941ecdc50e8a58ba7bc544571940b106f4893672d89f909faa6381c57e2c9d56e80d9ba45d24b174f79a88ae3271620de9126ce5b13f213f54c7038afc593aadd01b3748ba4962e9ef35115c64e2c41bd224d9cb627e427ea98e0715f8b2755ba0366e917492c5d3de6a22b8c9c58837a449b396c4fc84fd531c0e2bf164eab7406cdd22e9258ba7bcd445719383d194d360cd55b575d65d25b7823a6274999440a9ba60125b174f79b88ae326f0644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd0c89e631e01a72cd0f23995dcd4ae8927ee9c8246e9b4c98c5d3de7022b8c9ba1913cc63c034e59a1e4732bb9a95d124fdd39048dd3699318ba7bce045719374322798c78069cb343c8e6577352ba249fba72091ba6d3263174f79c08ae326e8644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd054b0bbcad809af88beffbdd4cb0cb1229adede43e9b66d8d5d3de7032b8c9b9f3573d0428675e1c94ac5a3a18c778a3fe2001884d36e7f1bba7bce075719373d6ae7a0850cebc392958b474318ef147fc4003109a6dcfe3774f79c0eae326e7a61e199b6f03a09dcf7dcb67e283c50fa3442be104dbba06fe9ef381e5c64dcf34fd58c1ab6d69671bc7f94f446d6c9ef14c7d81d9b78e4e0d3de703db8c9b9e52bbd70e2440faf9b45c551e0840bbbd8d5d20c3836f36dc2a7bce07c719373c9577ae1c4881f5f368b8aa3c1081777b1aba418706de6db854f79c0f8e326e7923b081c35e6a14124e3db6f7a068d175e038a8cdddbcf5b0b9ef381f2c64dcf2302229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a088a44628e94140651f41bb00de15adacd5dd6e2de816860f79c0f9a326e7914111488c51d28280ca3e837601bc2b5b59abbadc5bd02d0c1ef381f3464dcf2282229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a014b69ed5bfa3c31cec07e2f8d473d5a7821fca2ae8182a1079c0f9a426e7913f296d3dab7f478639d80fc5f1a8e7ab4f043f9455d0305420f381f3484dcf227e52da7b56fe8f0c73b01f8be351cf569e087f28aba060a841e703e6909b9e44fc31c74f5ad3809b9f2d053fbe99fcd536bd40ad5440c2f484ce07cd22373c89f7638e9eb5a701373e5a0a7f7d33f9aa6d7a815aa88185e9099c0f9a446e7913ee532f96182464f13480db26f25e517cd5a145114e030d7614381f3489dcf227db327184dd1f2c6520ce7c75dcb30121a5eecc7e99061c9029703e6914b9e44fb564e309ba3e58ca419cf8ebb96602434bdd98fd320c392052e07cd22973c89f6a55d86c215314173b06b7ff6ac262ae92677456611873e4a6c0f9a453e7913ed337c330ef7c8ab12dda3626cd7b23851f7b2b08bf30e96d4e81f348a8cf227da56f8661def915625bb46c4d9af6470a3ef656117e61d2da9d03e691519e44fb4a6b1f1c6ac88d476f359ec32de2ec3c7898ee7ef9c3a7593b07cd22a43c89f69362509182677d11963803ae53bc36a0ebde1f59f0875056770f9a45497913ed2550b37bb1a55ca5e43ccd849f6ecb69d268810fde0ea250ef1f348a93f227da492d795010211bce8046613136d3f4fb9f7d447bb91d4645df3e691528e44fb4915af2a02042379d008cc2626da7e9f73efa88f7723a8c8bbe7cd22a51c89f692241f798ed5ad1bcb8e64aecd346321678a1544ae1751abb7df9a454a4913ed24310018a878c05fc29995c019e82c254ebeeeaf1bfea371afcf348a94a227da4852003150f180bf85332b8033d0584a9d7ddd5e37fd46e35f9e691529444fb490a40062a1e3017f0a66570067a0b0953afbbabc6ffa8dc6bf3cd22a52889f692140c1eace93692640497a634ec0c70cf5a2399e9fc51ba7be89a454a5213ed2427183d59d26d24c8092f4c69d818e19eb44733d3f8a374f7d1348a94a427da484e307ab3a4da4990125e98d3b031c33d688e67a7f146e9efa2691529484fb4909c60f56749b4932024bd31a76063867ad11ccf4fe28dd3df44d22a52909f6921384dfd27403f88c301472976b8bd6b1d9ce5e0fbc21ba9628aa454a5223ed2426f280ca72d557408ba5b19156971346334780453813754691648a94a457da484dd50194e5aaae81174b6322ad2e268c668f008a7026ea8d22c9152948afb4909ba2c44f5622c32a5a1392a7d9dbb2fb4cc8c53aa01dd53485a22a52916f69213735889eac458654b427254fb3b765f699918a75403baa690b4454a522ded2426e63d262e35872d193cb1701e6ee31cfb2cdd910404754ec5698a94a45cda484dcb065eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b950cbd6a2fc9796a625f4cc9ab79303ca8cec8c80bd53e5da82a5291756921372a197ad45f92f2d4c4be999356f26079519d919017aa7cbb5054a522ead2426e5432f5a8bf25e5a9897d3326ade4c0f2a33b23202f54f976a0a94a45d5a484dca865eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b95057e8fba96df928ddc192c2af8961f28798cedcba53e77e83a52917579213729f3be44fffb254d4734febad5709220d09dde01571a7d0a1084a522eb02426e53d03daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca7907b5f1587618573cd93b054c1144841cd0050dc09f45cc232948bac2909b94f20f6be2b0ec30ae79b2760a9822890839a00a1b813e8b984652917585213729e41ed7c561d8615cf364ec153045121073401437027d17308ca522eb0a426e53c83daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca79007716e3437e7f68560767cb90aa669c7ac933806f45e6633948bac2a09b94f1f0ee2dc686fcfed0ac0ecf972154cd38f5926700de8bccc672917585413729e3e1dc5b8d0df9fda1581d9f2e42a99a71eb24ce01bd17998ce522eb0a826e53c7c3b8b71a1bf3fb42b03b3e5c855334e3d6499c037a2f3319ca45d61504dca78f803293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0ca4efc15387ac3750b7ce22831311d5d5d771b117a01ce922eb0a866e53c7bc1949df82a70f586ea16f9c45062623ababaee3622f4039d245d6150cdca78f783293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0566154c20edd462cd8430a20278f455809b9770e7a0372932eb0a867e53c7bbf38d50230f41d0f117d4c3c38457cb2aabfb54a19f40889275d6150d0ca78f77d71aa0461e83a1e22fa9878708af965557f6a9433e811124ebac2a1a194f1eefa6f666170a6d6befdc1f718d90c50f2a5ab178464d023c89e7585434429e3ddf36adf1b8e241000b350b459aa0f000d46027164c6a049353deb0a868953c7bbe561d08fc91e82841e6e2edb4c145e4286b125258a40940e7cd6150d13a78f77c94fb3783f13678af4a923de901f1aad080e8ca7118129c0faac2a1a284f1eef912b79492afd3198a11f0de5183493820ac95baa20025525f6585434519e3ddf2156f29255fa6331423e1bca306927041592b7544004aa4becb0a868a33c7bbe4239f77d58cb28e53c48fdbc58c8ac3025d1b1047d09563bda6150d14778f77c830001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe41400035c18f06fcfab2189d1aebd33a814fccdebde5540ddc8551d147f8f87c827fff6b831e0df9f564313a35d7a675029f99bd7bcaa81bb90aa3a28ff1f0f904fffe631894c8ca4d4b1a4131d744e063672e2739f14d3773b948451fe3e2f209fffb5243823e6afd18ec4f29d681b724f656fab63e976ee916918a3fc7c6e413fff530995d29ac5cb4906b19d4fb64a814a8a1aed92bddd3d124147f8f8ec827ffe96132ba5358b96920d633a9f6c9502951435db257bba7a24828ff1f1d904fffd24e77cd5387d554f9792d7be588fe7a9d32fdc0ac7750e89151fe3e3c209fffa32901f353e60d2caabf211fc3085b1d35123ddd55eea37523a3fc7c79413fff455203e6a7cc1a59557e423f8610b63a6a247bbaabdd46ea4747f8f8f2827ffe8a301a25fc6e973562c94aa70417ca9ccef539d154ba8f788f8ff1f1e604fffd1360344bf8dd2e6ac592954e082f95399dea73a2a9751ef11f1fe3e3cc09fffa264c7af09e90bf5842f1f0c40855889b368129a14fea3f863f3fc7c79913fff44b250839e9f7e1333db0a7b008a16f5e67ae959e9cd480b07f7f8f8f3327ffe8954a1073d3efc2667b614f601142debccf5d2b3d39a90160feff1f1e664fffd12a20334054b5e74fae8f64e81a7c1ba1996698d670520465fefe3e3ccd9fffa253406680a96bce9f5d1ec9d034f8374332cd31ace0a408cbfdfc7c799b3fff44a60cdf59ffadffc1720a59c861e6ccae6046a5b5be48133bfcf8f8f3377ffe894b19beb3ff5bff82e414b390c3cd995cc08d4b6b7c902677f9f1f1e66efffd1296337d67feb7ff05c8296721879b32b9811a96d6f9204ceff3e3e3ccddfffa252c66facffd6ffe0b9052ce430f36657302352dadf24099dfe7c7c799bbfff44a585a07f8a7b65e99d87262ae1663290dff169db7e1813563d08f8f3378ffe894af402249fc431fb668b18b8424bcb043f8d97dcbc0026c6ba21f1e66f2ffd1295d0c56eca55ca1ef892fdd30416fbeafec5f3df37d04da7b453e3ccde6ffa252b918add94ab943df125fba6082df7d5fd8be7be6fa09b4f68a7c799bcdff44a572315bb2957287be24bf74c105befabfb17cf7cdf41369ed14f8f3379bfe894ae462b7652ae50f7c497ee9820b7df57f62f9ef9be826d3da29f1e66f37fd1295c851812302a0817b4aca992c0ef24926c0a02193cd4da95854e3ccde70fa252b8f2f149eb21765794d61f88015daf0757bec8583979b5454aac799bce2f44a571d5e293d642ecaf29ac3f1002bb5e0eaf7d90b072f36a8a9558f3379c5e894ae3a4864d37533f867ed54a8284f621ffdea5e586a5b6d52f6ac1e66f38cd1295c731cdbff973e53529276167896ba9e23cf68f330b3daa791593ccde71aa252b8e539b7ff2e7ca6a524ec2cf12d753c479ed1e66167b54f22b2799bce3544a571ca736ffe5cf94d4a49d859e25aea788f3da3ccc2cf6a9e4564f3379c6a894ae39472f25566c8fd174b7d79ecadcb4f4675f3dbe19bd53e2ecae66f38d61295c72771f7037a685cb14ec7ba01538cfcb4e693fa1f34aa7e0196ccde71ad252b8e4d70005fa1a71be5555c3a2a9f105791c7d4369a6654fda72e99bce35b4a571c996c1317f0249a4d62853a7d36170d4b8a54af90c9a9fcf25e3379c6b794ae39316438888d1f971d7cd73b22642478bf0f55a17d9053fb88bd66f38d70295c7261548369c71590bdb17b3c6cc03f4fa6195785571da7f8b57bcde71ae152b8e4c135192c3b0183fe1ac33f017874fd742d5b4d0a384ff30ef89bce35c3a571c9816a3258760307fc35867e02f0e9fae85ab69a14709fe61df1379c6b874ae3930260770998dc727b22d9c22dd9ca53f8b0197684de3fcddfe36f38d70f95c726034d006bde8f4778fd804a83ab8b06195adf2f65b97f9d63c7de71ae202b8e4c0526133069f4f174b2cd5b2f4f0c6a5ab06aa1276fff3c6b90bce35c41571c98094c2660d3e9e2e9659ab65e9e18d4b560d5424edffe78d72179c6b882ae393012245f1a54aa2855830232e534280792bc56c6f9bcfcf35243f38d71065c72602348be34a95450ab060465ca68500f2578ad8df379f9e6a487e71ae20cb8e4c0461d8ec1ff7f03d8c3d591bcc8967c72ec075e42f0f3ceed10ce35c41a71c9808b3b1d83fefe07b187ab2379912cf8e5d80ebc85e1e79dda219c6b8834e3930116024d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c0456093582ab49c7971c8c346c69413fceab26ed9f033cf56110e35c41ab1c9808ac126b0556938f2e391868d8d2827f9d564ddb3e0679eac221c6b883563930115824d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c045601f6a836172dbf480900cee8c0a5b12ad1b1c4c30cf57b50f35c41ab2c9808abf3ed506c2e5b7e9012019dd1814b6255a363898619eaf6a1e6b8835659301157e09bc6632a1d254ba0cf9e2281fca72af18b38cc03d60783dd7106acc26022afb1378cc6543a4a97419f3c4503f94e55e316719807ac0f07bae20d5984c0455f626f198ca874952e833e788a07f29cabc62ce3300f581e0f75c41ab309808abec4de331950e92a5d067cf1140fe539578c59c6601eb03c1eeb8835661301157d827d8bbd6f387ce589c644a79f30552ec377b2800d60927de7106acc36022afaf4fb177ade70f9cb138c894f3e60aa5d86ef65001ac124fbce20d5986c0455f5e2b754808a481bc1a3e5751dfc27373ab8a2efc005826437ac41ab30e808abebb56ea9011490378347caea3bf84e6e757145df800b04c86f58835661d01157d7639e778cf68697320c6236f77002bf6a8d4fe4bfe609ab1ec106acc3b022afaeb73cef19ed0d2e6418c46deee0057ed51a9fc97fcc13563d820d598760455f5d673b03bea78084f3ae553e5d3f70e029e003b8bf6826c6bb141ab30ed08abebab7372d081c673212d976df39fe47a2d36acb973ea04da7b63835661db1157d75572f7f9b06348c512fba20f37bf52826805b543d109b69ac806acc3b722afaea972024c0d9cf40cddc40a466775032ccab7ace39f136ed9910d59876f455f5d517016f0c8104a9c7354dab4c6e06481901b9c233b26df57231ab30edf8abebaa16c403a3cf6f7bb9e767b9185b7272b1ae37aa2734dc0524735661dc0157d75416492cd26c451f9f4b9bd4b0364ac7e307337a0e39b82488f6acc3b812afaea815537f2fa5f0676a14040bdfebfb7245b92b19dc43706351fd598770355f5d50136823ea1946f6ffa4d47a3f575cc70b1d1a597856e0e0e40ab30ee07abebaa016d047d4328dedff49a8f47eaeb98e163a34b2f0adc1c1c815661dc0f57d75402661b5333282042a101e4b7cdcd8feac1f2d8ba12b839dd03acc3b81fafaea8035848ff1326a307f9d08f9793917dfd7e91f3d02270755e08598770405f5d50053ca456d323a892ab6de5571f195a22f7d029fc41e0ec6011b30ee081bebaa009055b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110ab60ca63b67501d5121ac6c5224dbd4992ca90183b4c848cc3b8208faea8022156c194c76cea03aa24358d8a449b7a9325952030769909198770411f5d500442ad83298ed9d40754486b1b148936f5264b2a4060ed3212330ee0823ebaa008855b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110377323108cd7848cdee0eebd18abe5443f0cec153b4e288dc3b82090aea8021f6ee6462119af0919bdc1dd7a3157ca887e19d82a769c511b877041215d50043e69dee4ef09c094eb4849e2ec590dbd0ba8760c51ed3a46380ee08243baa0087b5fd0228ae9e3ac8e5d59edd0a879a211fd2e74a0da7630711dc10488754010f54bb29dc2aa29dbd4877a039947516c1ea69f453eb4ee04e33b820911ea8021e9237794322ab63a60dbba2f2a85010037f980e67a69ddadc777041224d50043d146ef2864556c74c1b7745e550a02006ff301ccf4d3bb5b8eee082449aa0087a219f0a975813b6c3b3baee4a20a6228da9245f5e6a7785b1edc10489454010f4333e152eb0276d876775dc94414c451b5248bebcd4ef0b63db8209128a8021e8667c2a5d604edb0eceebb92882988a36a4917d79a9de16c7b7041225150043d0c5b97a458e03de491aa3d4d08496f6ecf3e720b323bc47cf7e08244a3a0087a174341a15e96de4bdb2140c208893d059929267261778a9df0c10489484010f42d12959b6a041f1a6e0f47ac0908d8332cfe8f40bfef16dfe2820912918021e859252b36d4083e34dc1e8f581211b06659fd1e817fde2dbfc5041225230043d0b24a566da8107c69b83d1eb0242360ccb3fa3d02ffbc5b7f8a08244a460087a16420bf33fcf75b5628470388403d1fc162a0bc61fc78b8a3151048948d010f42c7417e67f9eeb6ac508e0710807a3f82c54178c3f8f171462a2091291a021e858e0f0f28a0b3cfdb58e8d448f8eadd2d852f33e3eee2e4305541225235043d0b1b1e1e5141679fb6b1d1a891f1d5ba5b0a5e67c7ddc5c860aa8244a46a087a16363c3ca282cf3f6d63a35123e3ab74b614bccf8fbb8b90c155048948d410f42c6c048b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d709173b64e9c2bafe26d0df7e9a8f28484bc2f6e82e464d561225235243d0b1ae122e76c9d38575fc4da1befd351e50909785edd05c8c9aac244a46a487a1635c245ced93a70aebf89b437dfa6a3ca1212f0bdba0b919355848948d490f42c6b848b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d701d860efb728e329a39d41fe19f50ac7f6871ca7fe4667962225235253d0b1adf3b0c1df6e51c653473a83fc33ea158fed0e394ffc8ccf2c444a46a4a7a1635be022a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f608aa526a826d3482d05a9df9ce8367e1382617f2466e262625235257d0b1adec1154a4d504da6905a0b53bf39d06cfc2704c2fe48cdc4c4c4a46a4afa1635bd822a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f6016b77f54fd35cae4d2700794de94a60e2ea3db2166e406635235257e0b1adebf2d6efea9fa6b95c9a4e00f29bd294c1c5d47b642cdc80cc6a46a4afc1635bd7e5addfd53f4d72b9349c01e537a529838ba8f6c859b90198d48d495f82c6b7afc41ce5354c010d9de6046649eeb03586c216135083721d71b91a92bf158d6f5f70faeff56568436748d52f135cc64d8d2ef04c60d6e455238235257e3b1adebed1f5dfeacad086ce91aa5e26b98c9b1a5de098c1adc8aa47046a4afc7635bd7da3ebbfd595a10d9d2354bc4d73193634bbc131835b91548e08d495f8ec6b7afb4098a535f8a84365c375db1a65984ee9224688c68722c35c21a92bf1e8d6f5f671314a6bf15086cb86ebb634cb309dd2448d118d0e4586b8435257e3d1adebece26294d7e2a10d970dd76c6996613ba4891a231a1c8b0d7086a4afc7a35bd7d9c4c529afc5421b2e1baed8d32cc277491234463439161ae10d495f8f46b7afb3824b78ea57ea5e87b42a1425d8ead111cf2cb228422c50022a92bf1e9d6f5f66f496f1d4afd4bd0f6854284bb1d5a2239e5964508458a00455257e3d3adebecde1ef09342d0fa24a4d74b316e31126c6e776ee60d8b15a48ba4afc7a85bd7d9bb3de12685a1f44949ae9662dc6224d8dceeddcc1b162b4917495f8f50b7afb37607d4a5b81a4b154b29f2edb0baa7d9b489fdf4332c58362f92bf1ea26f5f66eb0fa94b7034962a9653e5db61754fb36913fbe86658b06c5f257e3d44debecdd61f5296e0692c552ca7cbb6c2ea9f66d227f7d0ccb160d8be4afc7a89bd7d9bac3ea52dc0d258aa594f976d85d53ecda44fefa19962c1b17c95f8f5137afb3758095cb42e7b13d76a6bf50303a0dbc3434c219f2fc58506fa2bf1ea27f5f66eaf12b9685cf627aed4d7ea060741b7868698433e5f8b0a0df457e3d44febecdd5e2572d0b9ec4f5da9afd40c0e836f0d0d30867cbf16141be8afc7a89fd7d9babc4ae5a173d89ebb535fa8181d06de1a1a610cf97e2c2837d15f8f513fafb3757821dd9b94879ff95e8c165832041a5c2f6e5c4ef9585213a3bf1ea2805f66eaef43bb37290f3ff2bd182cb0640834b85edcb89df2b0a427477e3d4500becdd5de1388c6fef4e26831fd1f88c006c798b865b397e26149f28ffc7a8a027d9babbb27118dfde9c4d063fa3f11800d8f3170cb672fc4c293e51ff8f51404fb3757764e231bfbd389a0c7f47e23001b1e62e196ce5f898527ca3ff1ea2809f66eaeec285890a47d75c447b5c26df82c9aedbdd9df1b100a513880e3d45014ecdd5dd750b12148faeb888f6b84dbf05935db7bb3be362014a27101c7a8a029d9babbae2d749b3ecc3993d6a3cfdfd8a8c9def213bec83d294686048f514054b375775b5ae9367d987327ad479fbfb15193bde4277d907a528d0c091ea280a966eaeeb641e4c5a80748d2125c05a75a9985a3c2fb3d7cf1a51bbc133d450153cdd5dd6b0fdbe3fce4f426dc84d176ad29696f80a2bd55e04a391c277a8a02a89babbad51fb7c7f9c9e84db909a2ed5a52d2df01457aabc09472384ef5140551375775aa3f6f8ff393d09b721345dab4a5a5be028af5578128e4709dea280aa26eaeeb540af17893fe03b99bf351dd6141a9a3ffc22d0aff51ca853cd4501545dd5dd6a715e2f127fc077337e6a3bac2835347ff845a15fea3950a79a8a02a8bbabbad4e2bc5e24ff80ee66fcd47758506a68fff08b42bfd472a14f35140551775775a9c578bc49ff01dccdf9a8eeb0a0d4d1ffe116857fa8e5429e6a280aa2eeaeeb5383b29e1ecb69e1c7701e3fe0c10f867f6cf130bf21ca9f7ce4501545ed5dd6a6f02661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba099872190e7aee9742389040613bdfa129a1cf84e5564e76280aa2faaeeb53741330e4321cf5dd2e84712080c277bf4253439f09caac9cec501545f55dd6a6e82661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba025997a3dbe116c2bf04f2bfe0a1c220d465f544b55668b6380aa2fabeeb5373f4b32f47b7c22d857e09e57fc1438441a8cbea896aacd16c701545f57dd6a6e7e227841a3cea833678e02d7f01eceb02fc5bfad2a559bd18f02a8beb0bad4dcfb44f083479d5066cf1c05afe03d9d605f8b7f5a54ab37a31e05517d6175a9b9f615f35f3c1103505604d187b87198e8b9c34110a65670ea3d0aa2fac3eb5373eb2be6be782206a0ac09a30f70e331d1738682214cace1d47a1545f587d6a6e7d657cd7cf0440d415813461ee1c663a2e70d04429959c3a8f42a8beb0fad4dcfac3bad528d5e7d0567f35265bb83256dc8c64ae12fb388f5e95517d6205a9b9f57036cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a0db3f71e4d72361ecdabcdbbf2a40e30e36079719c4e3f4ea8beb106d4dcfab41b67ee3c9ae46c3d9b579b77e5481c61c6c0f2e3389c7e9d517d620da9b9f56836cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a06751ca91ad85e4a4a78303b7209f0b08e249f316c4e598eb8beb106e4dcfab3f5ab5edd0316e4c011bcc2f66379c3e0c70d6422a89ccd5d817d620dd9b9f567d417e344d393f1aba045e86c46596a4138deee052139b4fb12fac41bc373eacf90f0ec14748e0b82bd5833580c18b7021c8201ca1273843635f5883796e7d59f11e1d828e91c17057ab066b018316e043904039424e7086c6beb106f2dcfab3e23c3b051d2382e0af560cd603062dc087208072849ce10d8d7d620de5b9f567c4048862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf870910c5ce3ad0882cf1bfa7fc05735211da86820c73877e37f5883798e7d59f0e12218b9c75a11059e37f4ff80ae6a423b50d0418e70efc6feb106f31cfab3e1c24431738eb4220b3c6fe9ff015cd48476a1a0831ce1df8dfd620de639f567c3848862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf8701d1eb590836b0586e8c0a7b84d93491854aa7cc4387987805883798f7d59f0df3a3d6b2106d60b0dd1814f709b269230a954f98870f30f00b106f31efab3e1be008d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd808d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd8019414790e4fb5627958d0124a1aa83f9989169dee7c3a6630de63ef667c37aff32828f21c9f6ac4f2b1a0249435507f33122d3bdcf874cc61bcc7deccf86f5fe65051e4393ed589e5634049286aa0fe66245a77b9f0e998c3798fbd99f0debfc561c9533fe3d33f4792e311d03b247c770cdaaf43e1ed7196f31f7b43e1bd7f7384b8314d2dceaa0bf228a31fdc2b7898dddb1e57c3f5233de63ef697c37afed70970629a5b9d5417e451463fb856f131bbb63caf87ea467bcc7ded2f86f5fda6d40650021d62d3ac95050bfed690620e3b92392f0feecd0798fbda6f0debfb3669322ad1a0edd2d5f66c977d130343c73b4a322e1ff7da1f31f7b4ee1bd7f6559389e070a803d128b93bae798be907393aba242c4009f44e63ef69ec37afec93e8394baeb62fcdce3ed9dc727db48e1d399a0828802e28acc7ded3e86f5fd9109198222ad287c7194a163864614b9be53759d021007691698fbda7e0debfb21123304455a50f8e32942c70c8c29737ca6eb3a04200ed22d31f7b4fc1bd7f6422466088ab4a1f1c652858e191852e6f94dd67408401da45a63ef69f837afec8448cc11156943e38ca50b1c3230a5cdf29bace810803b48b4c7ded3f06f5fd9081daa7ad7a8ea49d116dc605c57a9c3dfe39c2c1e0078356a8fbda7e1debfb20f3b54f5af51d493a22db8c0b8af5387bfc738583c00f06ad51f7b4fc3bd7f641e02bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd90760af1102de82ea7f0a0dea5a55414dde8eacc31d40789e6acfbda7e21ebfb20ec15e2205bd05d4fe141bd4b4aa829bbd1d59863a80f13cd59f7b4fc43d7f641d82bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd907603b235b8b594d01c1dab0824d37ac06895905793d78a00ed0bda7e21fbfb20ebf02590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa09643f0e23f218ee089cb24996d8d435793539dfc5070689ed3f1101fd9075f412c87e1c47e431dc113964932db1a86af26a73bf8a0e0d13da7e2203fb20ebe82590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa02256498f1584119856914c9163eb6b523f95f9f950720c9fd3f11020d9075f3f44ac931e2b082330ad229922c7d6d6a47f2bf3f2a0e4193fa7e22041b20ebe7e156b7ee92c72c919270b5a3d860bd543aa9a43e241c9d6804fc44084641d7cfb2ad6fdd258e592324e16b47b0c17aa87553487c48393ad009f888108c83af9f655adfba4b1cb24649c2d68f6182f550eaa690f8907275a013f1102119075f3ec376e4ff639f8cb810520f9e426bcd21801147b0f0e5058037e22042420ebe7d76edc9fec73f197020a41f3c84d79a4300228f61e1ca0b006fc44084841d7cfae69cb9885be45b0bbe14a0f889151705ab09448393943040ef888109183af9f5b5fa989b852ede42f8f5a4709190108b00d6aec6f7287ac1ef1102124075f3eb54b656c1d7c3e4b16eb7ab60a2860395ac71834dbe510fc3ee22042490ebe7d6922dd30e7cedf18e5a3bb940c471e9ab03a72c5b4ca239c7ec44084931d7cfad145ba61cf9dbe31cb477728188e3d356074e58b69944738fd888109263af9f5a217871c4c11dee64e5bb4782912d892bb960d72d0289015fc1102124d75f3eb432f0e389823bdcc9cb768f05225b125772c1ae5a051202bf82204249aebe7d6865e1c7130477b99396ed1e0a44b624aee5835cb40a24057f044084935d7cfad0c484b3b0d6559b52aaa69e9408d22bdd75cadf27e448253e18810926caf9f5a171ca8cec7a115ed0d2199fa7910a3a3a9659e40f989064bc4102124da5f3eb42d39519d8f422bda1a4333f4f221474752cb3c81f3120c9788204249b4be7d685a72a33b1e8457b4348667e9e4428e8ea5967903e624192f10408493697cfad0b47158cee9df11eb20d995fbc07b7b4545d93463c948340221810926d3f9f5a1676ec3f680948658f97ff21f78ed54b2865eab238f9069a84402124da8f3eb42cd699a45adff6f34aaccaa66e9d1078d076998a31c20d4f48904249b52e7d685995f46e408d540ec0d661af5cb986d42097f73a23541ab8d13084936a6cfad0b314aa020be80e45ad298fc138f2738ac0dab29a0678358be2710926d4e9f5a166121529a29d82b385cfebe4f1644cf801602959ccc06b3204f2124da9e3eb42cc142a53453b05670b9fd7c9e2c899f002c052b39980d66409e4249b53c7d685982115cc154370f642bc7bf6451099c2852b698cf2d1ace253d84936a79fad0b30322b982a86e1ec8578f7ec8a2133850a56d319e5a359c4a7b0926d4f3f5a1660645730550dc3d90af1efd91442670a14ada633cb46b3894f6124da9e7eb42cc0c16f8634e8edda4160ac14a80433f6a906108d565d672cded249b53d0d68598172df0c69d1dbb482c15829500867ed520c211aacbace59bda4936a7a1ad0b302e5be18d3a3b7690582b052a010cfdaa418423559759cb37b4926d4f435a16605c43d573214d4fa36822d07bfa10597c7db489072bb398136a24da9e87b42cc0b713bd3eef7101c98812671fec171120f615546a546731cad549b53d106859816d277a7ddee203931024ce3fd82e2241ec2aa8d4a8ce6395aa936a7a20d0b302da4ef4fbbdc4072620499c7fb05c4483d85551a9519cc72b5526d4f441a16605b429fc50285e70cef85fff2758aee72fab56e5aea0398ffaab4da9e88442cc0b6753f8a050bce19df0bffe4eb15dce5f56adcb5d40731ff5569b53d108859816ce3403994e5025be994cc2c55ab1fae6a807d9167de6418eae36a7a2120b302d9b6807329ca04b7d3299858ab563f5cd500fb22cfbcc831d5c6d4f442416605b365c20bde616f97d1cffd13d62be49c29acba6b5f49907deb9da9e88492cc0b66b4453d47904557cf1cc68a2bd72f1ad30438fc7e632116174b53d109359816cd514ba019edf0d7c9b65976d72dc41825b3361ebc9642466ea6a7a2127b302d9a92974033dbe1af936cb2edae5b88304b666c3d792c848cdd4d4f4424f6605b35252e8067b7c35f26d965db5cb7106096ccd87af2590919ba9a9e8849ecc0b66a431e265a3cece6792f981938ed86a3ad44751ba482124db5453d1093e9816cd4763c4cb479d9ccf25f303271db0d475a88ea374904249b6a8a7a2127d302d9a8e539bef3c119c2103b2cc76335807134bc989451d849511524f4424fb605b351b334a3724f99ac4bf325f145ea66c4e923f54e638092bc6a59e8849f7c0b66a3566946e49f335897e64be28bd4cd89d247ea9cc7012578d4b3d1093ef816cd46a593b3540bccd95b496427972900f6243a995f4dd24b0be977a2127e002d9a8d33e88c32e4ffdae20f94b1add167cec81ff6e45b74963212ff4424fc105b351a50923df09765ddef9bf5c5db2235800feab1ee76b92c7e660e8849f830b66a3491247be12ecbbbdf37eb8bb6446b001fd563dced7258fccc1d1093f0616cd4692248f7c25d9777be6fd7176c88d6003faac7b9dae4b1f9983a2127e0c2d9a8d24491ef84bb2eef7cdfae2ed911ac007f558f73b5c963f33074424fc185b351a481e5049443c407253c28c031a2bde37e55e30d2b62c800a0f8849f831b66a348f3ca092887880e4a78518063457bc6fcabc61a56c5900141f1093f0636cd4691e05537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b0aa6fb7b8ec8980dadec68c14bae0f204a0b4dab6403987e424fc18fb351a476154df6f71d91301b5bd8d182975c1e4094169b56c80730fc849f831f66a348ec2a9bedee3b226036b7b1a3052eb83c81282d36ad900e61f9093f063ecd4691d85537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b036821065c2ec0392ab8cb40cb13f19ff4cf736b3403b2be524fc18fc351a475f6d0420cb85d8072557196819627e33fe99ee6d66807657ca49f831f86a348ebe661a9a43e21291027af8f82abb5a8ff7e01f36ca00ee539593f063f1d4691d7b58478d349a87a4bcc2b8184d6d1347ea6c80c99101de4b2c27e0c7e4a8d23af53ca173160b71cc3152365892d084b7cf8543ef1f03be3a594fc18fca51a475e905553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd10aaa7db1da8c3634e265b23b2ecf2f336d9474760efc31673f063f2b4691d7a21554fb63b5186c69c4cb64765d9e5e66db28e8ec1df862ce7e0c7e568d23af442aa9f6c76a30d8d38996c8ecbb3cbccdb651d1d83bf0c59cfc18fcad1a475e885553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd1036ba33ca7f25e605f3214baae3511b318589a35defc4ba74f063f2b5691d7a1f6d746794fe4bcc0be6429755c6a236630b1346bbdf8974e9e0c7e56ad23af43e66fb27d6d2fa1acf994b56a383a294c0c268e974bf148dd4c18fcad6a475e87b5a08a85a7c56b856ff5cd53efda3517c31142ee67e2abfaa831f95ae48ebd0f54023a961cf0ff365cb7fd275f1a4caf30e6ab9c9fc572356063f2b5d91d7a1e90c59ab707482698363c5cce3d9a7bde0c917cf90f8afeaad0c7e56bc23af43d118b356e0e904d306c78b99c7b34f7bc1922f9f21f15fd55a18fcad78475e87a23166adc1d209a60d8f17338f669ef783245f3e43e2bfaab431f95af08ebd0f4462cd5b83a4134c1b1e2e671ecd3def0648be7c87c57f556863f2b5e11d7a1e8851ad0fb41e891aee0922f63590da06073dbf550c8b004ed1c7e56bc33af43d0f2f6c78151374b893df0c14631812340927c10616160241a48fcad78775e87a1d5ed8f02a26e97127be1828c6302468124f820c2c2c0483491f95af0eebd0f43a49c439012435650748f6798456a6f81f4b467455580aaa933f2b5e1ed7a1e8731f9acaaf1ecd4cc65eb31b00a3ac183942cf44a7b016f9277e56bc3eaf43d0e53f35955e3d9a998cbd66360147583072859e894f602df24efcad787d5e87a1ca0a7d83695197b5d1479293fa850e88dfb77f6e9bc05d889ef95af0fbbd0f439314fb06d2a32f6ba28f2527f50a1d11bf6efedd3780bb113df2b5e1f77a1e872629f60da5465ed7451e4a4fea143a237eddfdba6f0176227be56bc3eef43d0e4c53ec1b4a8cbdae8a3c949fd4287446fdbbfb74de02ec44f7cad787dde87a1c9833ea8f41efdddfcc45ef67a04746b5f6243945b905da2df095af0fbcd0f4392f67d51e83dfbbbf988bdecf408e8d6bec48728b720bb45be12b5e1f79a1e8725e5bbc95b495da01e8e483c6791378ffd33d2772e1176a5bc356bc3ef443d0e4bb438b84160216868995cdb4ea1d5027a1269141bf2ed65b87ad787de987a1c975132960d8da8f8fcaf86191cc30fe773cf964df7b5dae5b105af0fbd40f4392e92652c1b1b51f1f95f0c3239861fcee79f2c9bef6bb5cb620b5e1f7a81e8725d24ca583636a3e3f2be1864730c3f9dcf3e5937ded76b96c416bc3ef503d0e4ba4255d5f73aadf010f8fd2b6597e51e1e2776957d7ed747c83d787dea17a1c97474ababee755be021f1fa56cb2fca3c3c4eed2afafdae8f907af0fbd42f4392e8e2187d67b81de86f60c11015defa5af8489e7bb5cb5d396105e1f7a86e8725d1b430facf703bd0dec182202bbdf4b5f0913cf76b96ba72c20bc3ef50dd0e4ba361231b29adddc9e8ffd0a2d6fb4f4e60cd3e1496fd74ffc42787dea1ca1c9746b24636535bbb93d1ffa145adf69e9cc19a7c292dfae9ff884f0fbd4394392e8d648c6ca6b77727a3ff428b5bed3d398334f8525bf5d3ff109e1f7a8728725d1ac1d9fed83c5477737b51793759e0558614b4ca77bba818614c3ef50e60e4ba3573b3fdb078a8eee6f6a2f26eb3c0ab0c296994ef775030c2987dea1cc1c9746ae02920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60a483aefae017e5a8491d739b9ce25ff65d3e7afa81ef1503ef50e64e4ba356c149075df5c02fcb50923ae73739c4bfecba7cf5f503de2a07dea1cc9c9746ad82920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60309607a7b67a686015e39b93934087f10980d6f781f0b904ef50e64f4ba356bf612c0f4f6cf4d0c02bc7372726810fe21301adef03e17209dea1cc9e9746ad7e4e6a774bb04c243824549646436047bed245b7db07c48814bd43993e2e8d5afb28e7474436facb28156f54847d1eb77850cdcbb30f8ab42a7a87327d5d1ab5f551ce8e886df596502adea908fa3d6ef0a19b97661f156854f50e64faba356bea2faf75bdb24daf5822837a09ead905dbef798ac93e2c74aaea1cc9f6746ad7d35f5eeb7b649b5eb04506f413d5b20bb7def315927c58e955d43993ece8d5afa64ad02fa39f99401856d4101fa1c23f6a6a288721f8b376aca87327dad1ab5f4b21b2b7f4159502e87a6e483739e2a6cf80936a40f168915a50e64fb6a356be9543656fe82b2a05d0f4dc906e73c54d9f0126d481e2d122b4a1cc9f6d46ad7d2a12dd387d2cb68e59b67f48d4dde8c338ae900500c5a3e96a43993edb8d5afa5325ba70fa596d1cb36cfe91a9bbd186715d200a018b47d2d487327db71ab5f4a64b74e1f4b2da3966d9fd235377a30ce2ba401403168fa5a90e64fb6e356be94c22fc1c963c16f58580c06e9ee5a441c020c284032d20ef531cc9f6dd6ad7d29745f8392c782deb0b0180dd3dcb488380418508065a41dea63993edbad5afa52e1802cb05c6be58cdcfc7e2738cef2efb2f4c6c09b485614d7327db76ab5f4a5b3005960b8d7cb19b9f8fc4e719de5df65e98d813690ac29ae64fb6ed56be94b6600b2c171af963373f1f89ce33bcbbecbd31b026d2158535cc9f6ddaad7d296c4c28b0db0c5549264b053b945dd79fd426a5bc4aa42cae6c993edbb65afa52d72463ba62ef0d150462d09f20b20d67a2f98dd492485b00da327db76db5f4a5ad48c774c5de1a2a08c5a13e41641acf45f31ba92490b601b464fb6edb6be94b5a1da142389296d6c95808a47abe93c6869279ae46216da769c9f6ddb7d7d296b33b428471252dad92b01148f57d278d0d24f35c8c42db4ed393edbb6fafa52d660297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b5960a5d863c82f77774b3a2e78bc2b50853d8a4545616e106a09f6ddb817d296b2c14bb0c7905eeeee96745cf17856a10a7b148a8ac2dc20d413edbb702fa52d658297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b596031eabc7505d9fa0306f4a0b421aead383687a15e6e120e0af6ddb818d296b2bf63d578ea0bb3f4060de94168435d5a706d0f42bcdc241c15edbb7031a52d657e53bd4a80edca6ac3e898aac87d18dcdb8660e176b849dc2cdb76e0644a5acafb338cedaeb1f7583f9df77d88f08fe1b1b9041eea70955c5ab6edc0c994b595f56719db5d63eeb07f3beefb11e11fc36372083dd4e12ab8b56ddb8193296b2bea5a460f679e3fe3b644a41e1bb89daec19052d7a6c257156bdbb7032752d657d3409e777c12e24a24560e642f6799857dcce80b4a84afced8b76e064fa5acafa50d4f47a4fc27170078e2f056c59132f646127292096141b26edc0ca04b595f491a9e8f49f84e2e00f1c5e0ad8b2265ec8c24e52412c28364ddb8194096b2be92353d1e93f09c5c01e38bc15b1644cbd91849ca48258506c9bb7032812d657d246a7a3d27e138b803c71782b62c8997b2309394904b0a0d9376e065025acafa486106d2fc98d3f2bf5af52d644f71575f0d69851d9615bf27edc0ca05b595f48f4e1ffea6080a683682b082c09540d6b8c71566382c2d2250db81940c6b2be91d285255f8e6775324d2272d7920dfd56c3a6d286d585be8a2b7032819d657d23950a4abf1cceea649a44e5af241bfaad874da50dab0b7d1456e065033acafa4722d5bb090703fcf4b1562dddc79dd7dab95f6fdb26171468bdc0ca068595f48e35ab76120e07f9e962ac5bbb8f3bafb572bedfb64c2e28d17b81940d0b2be91c641811aee9761bfe422519f69ddd41ea9041e52c685c6be30703281a2657d238b0f148e8a05260280116966cbb206654cb47f018a0b8f2061e0650345cafa47151e291d140a4c050022d2cd97640cca9968fe0314171e40c3c0ca068b95f48e2a3c523a2814980a0045a59b2ec8199532d1fc06282e3c818781940d172be91c5404b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7096d99f9ff252d70b022bcab0d22a4c0a074d09ab8f54e200650345eafa4714e12db33f3fe4a5ae1604579561a45498140e9a13571ea9c400ca068bd5f48e29c25b667e7fc94b5c2c08af2ac348a930281d3426ae3d538801940d17abe91c5384b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7022ebf84cc8b559c2cef1f2a8c8887404b38f65a88f568601650345ebfa4714df45d7f099916ab3859de3e5519110e809671ecb511ead0c02ca068bd7f48e29be17c239dff937e9c3088df29b187ff80d7a7ff29f3d5bbc06940d17b0e91c537b2f8473bff26fd386111be53630fff01af4ffe53e7ab7780d281a2f61d238a6f65f08e77fe4dfa70c2237ca6c61ffe035e9ffca7cf56ef01a50345ec3a4714dec4a2427aca021d0d01135bcd0ba5de8668041f0f6eadf8435a068bd8848e29bd7205aa80616a62457ef31a1996b19f8c7acc63dead5c0ac6c40d17b1191c537ad40b5500c2d4c48afde634332d633f18f598c7bd5ab8158d881a2f623238a6f5a0d7cf8c530fb1417898cae5da2c60b195f5b53a8570455b20345ec474714deb31af9f18a61f6282f13195cbb458c1632beb6a750ae08ab64068bd88e8e29bd6635f3e314c3ec505e2632b9768b182c657d6d4ea15c1156c80d17b11d1c537acc6be7c62987d8a0bc4c6572ed163058cafada9d42b822ad901a2f623a38a6f59863e1e4ffe613c43065910dd222bed990a1f796827046ff21345ec475714deb2f53d622aca28a0b1897e8439c3bdbdb1bf0318901e08fa24368bd88ebe29bd65d33be9e061b7698e8fc96af306e15de328ca56e00c120e887d17b11d8c537acb9677d3c0c36ed31d1f92d5e60dc2bbc65194adc018241d10fa2f623b18a6f59725b0cd0c5443ce65bbf20e4b9aeb5a0c4ded814000485462045ec476414deb2e3422bfa375edc4f6f4b07f16b53c9698469f283fd090c30418bd88ec929bd65c5106a4d1b941b219662d60ace9df0fb03802763f7121a048417b11d93537acb8920d49a372836432cc5ac159d3be1f607004ec7ee243409082f623b26a6f5971241a9346e506c86598b582b3a77c3ec0e009d8fdc486812105ec4764d4deb2e240f64c189773b8f6ae3767e6ce5e60016ad7d7bb590d1c821bd88ec9b9bd65c471ec98312ee771ed5c6ecfcd9cbcc002d5afaf76b21a390437b11d93737acb88e3d930625dcee3dab8dd9f9b39798005ab5f5eed643472086f623b26e6f59711c073864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370e70c9f1207dfc1dd0f436be4b1c5160305c73530d1fca1dd88ec9bbbd65c46e1ce193e240fbf83ba1e86d7c9638a2c060b8e6a61a3f943bb11d93777acb88dc39c327c481f7f07743d0daf92c714580c171cd4c347f2877623b26eef59711b873864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370731ef7bede424494dc0993dca8233dfdb209912dd1fe45de88ec9bbcd65c46df7250482a92e70be184d94fb146a4a3f610557e58a3fe2fbe11d9377aacb88dbd70b2e901fc309a7ad678c75a83a76fe6cced58ae47fe037d23b26ef659711b796d782ab0cec3b7ad79b7b6acfdad07c8461d0d598ffdaafb4764ddedb2e236f16702ae0e73e9f212c0359551f1b8378b387c76b01ffcf9f78ec9bbdc65c46de15a17b4c9be3666dd4d31529bd9ce97111d3b495d3ffb97f01d9377b9cb88dbc14041c24052cf50726728cd2fa9fb561ce6b8eeb77ff8d3e13b26ef749711b7810c95dd2d7c01239c9b17c2574a54d43479b4396bfff34bc3764ddeea2e236f01192bba5af8024739362f84ae94a9a868f36872d7ffe69786ec9bbdd45c46de02325774b5f0048e726c5f095d295350d1e6d0e5afffcd2f0dd9377ba8b88dbc0464aee96be0091ce4d8be12ba52a6a1a3cda1cb5fff9a5e1bb26ef751711b780855702b849674bc817e424d6c9bab6b424785f2bcff36603864ddeea3e236f00f36f2afb6034bfbbac94ac2d12db4fe7f3b4e4176fe6e6471c9bbdd48c46de01d6de55f6c0697f775929585a25b69fcfe769c82edfcdcc8e39377ba9188dbc03a67dd1784e39271a2f1f1333cad3221f7997b61d8f9bb35c826ef752411b780735bcc87b69d8765fdb0a88e7150c26be9df391faef3780f914ddeea49236f00e543ab681a11714eb32e1744da97e2ffce6ab49b5ae6f1c3239bbdd49346de01c9136928e0f945201e28f4b1ad2624279781ab92b2cde52a48377ba9278dbc039126d251c1f28a403c51e9635a4c484f2f035725659bca54906ef7524f1b7807224da4a383e5148078a3d2c6b498909e5e06ae4acb3794a920ddeea49e36f00e44275b9fb4a08b83a9146bb561277f64b6b99ef1936f2af642bbdd493d6de01c874eb73f694117075228d76ac24efec96d733de326de55ec8577ba927adbc0390e2980d77f5890915c1e74fd7c945bbad592be224abcad7d0bef7524f6b780721b5301aefeb12122b83ce9faf928b775ab257c4495795afa17deea49ed6f00e4363215b6aa38a4c828469a1dea47cd1350f73ae527f2b79830bdd493dbde01c86b642b6d54714990508d343bd48f9a26a1ee75ca4fe56f30617ba927b7bc0390d654693355b8f5a358e72e9fa11592753e892df09ccae004c3f7524f70780721ab34e4bf58484dc9699b23673a21831277be9e3d3695c1ad88eea49ee1f00e435569c97eb0909b92d33646ce74430624ef7d3c7a6d2b835b11dd493dc3e01c86aa5fa5560df799a85e3953c4e07c6a71d9a6bb50d757085a24ba927b88c0390d534b5d04c8c595d3743f6db1b8ef330badf9b8fdabae12584a7524f71280721aa522cc623e618e29a04ba18b69d4c43f569fb457545c265495ea49ee2600e435494598c47cc31c5340974316d3a9887ead3f68aea8b84ca92bd493dc4c01c86a921743e1a65c9b2938fb4c559f496f25552b13b94e709af658a927b8990390d5232e87c34cb9365271f698ab3e92de4aaa5627729ce135ecb1524f71320721aa465d0f8699726ca4e3ed31567d25bc9554ac4ee539c26bd962a49ee2640e43548c463165dfbb3bcc7fa728d4f241d752a404e0267084d956c6493dc4c91c86a9171875246c4cda1bb71b17d1dc7a0ccd42b602a8de09b4518d927b8993390d522d30ea48d899b4376e362fa3b8f4199a856c0551bc1368a31b24f71326721aa45a61d491b133686edc6c5f4771e833350ad80aa37826d1463649ee264ce43548b44fbb7c0f3d336070a584b6dbc6c492105c57a2ed4da4306d93dc4c9ac86a91672b8950cb50c9439917cf95af83e74c1b64f1a1d79b4a04dc27b8993690d522cd5712a196a19287322f9f2b5f07ce9836c9e343af369409b84f71326d21aa459a3a379bda1987911c2c047eb605fb58684008e35b6d29b7719ee264db43548b33008190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32808190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32800da2b9b6480772dc9beb8bfa4b36f32700650fd75514883ec4c9b787a91664ff1b45736c900ee5b937d717f4966de64e00ca1faeaa29107d89936f0f522cc9fe368ae6d9201dcb726fae2fe92cdbcc9c01943f5d545220fb1326de1ea45993fc6d15cdb2403b96e4df5c5fd259b7993803287ebaa8a441f6264dbc3d48b327f8663df41156d9b0818b7ee79ca9cd5a6ab2935972514a27ed4c9b787b91664fef588e40cf8415e3bae3c3f73149f8dcd011690ee1a295f3db9936f0f822cc9fdd3d2eda4bde8e4a2d944e165a8a4fe19acf1479c0452d8bb8326de1f145993fb906700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f710ce01a8926fe2e25eac4a95a15fbd66094d69efb14b976e2c9b787c71664fee219c035124dfc5c4bd58952b42bf7acc129ad3df62972edc5936f0f8e2cc9fdc433806a249bf8b897ab12a56857ef5982535a7bec52e5db8b26de1f1c5993fb886700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f7105a14013f464565167910bd99561b8e03f9ac4bae4b99122d9b787c72664fee1f403a5b2b62ed4ce4bee7a32aa29544029f9af3599733c85c36f0f8e5cc9fdc3d0c870f039c3d1c814a956e4d3b88afffeb7842b02e6934b96de1f1cc993fb879190e1e07387a3902952adc9a77115fffd6f085605cd26972dbc3e399327f70f2321c3c0e70f472052a55b934ee22bfffade10ac0b9a4d2e5b787c73264fee1e46438781ce1e8e40a54ab7269dc457fff5bc215817349a5cb6f0f8e64c9fdc3c8548348e69a344acc761d0ccbaee927f963c686ffe694ef97de1f1cca93fb878f3518ea7a0acb1850b900418f543077ed73cf69fccd2b8330bc3e399627f70f1d6a31d4f4159630a17200831ea860efdae79ed3f99a570661787c732c4fee1e3a60760295018ee3fab0c72e35472007b07b8003f034afb0c3f0f8e6599fdc3c734cfe5dd6d9804aad2e548462849e375ba34263dd69610588e1f1ccb43fb878e5260f145a89631812296f30bcff9a96b1f2c723b7d2c3af12c3e399697f70f1c94c1e28b512c6302452de6179ff352d63e58e476fa5875e2587c732d2fee1e392244eaa16fbeee3007282eaebf4c882c2775eeadc4b10604c0f8e65a6fdc3c723489d542df7ddc600e505d5d7e9910584eebdd5b89620c0981f1ccb4dfb878e461d4d0108c61e0eb996d1d3a7c980330489be076e2c4325313e39969cf70f1c8b3a9a02118c3c1d732da3a74f93006609137c0edc58864a627c732d39ee1e391601465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac0a32e67f76d5ecf1406bb4b8e2f7a06699d3cdad8871c62fc732d3a6e1e391581465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac02f40c0a443c151cbd381738625d82e64497f36d5871e06fd732d3a6f1e39157f5e8181488782a397a702e70c4bb05cc892fe6dab0e3c0dfae65a74de3c722afe49155b3de567c9e71acbf6108dbee18bd23f37531c79bff6ccb4e9bd78e455fb1e3d0f28a1321686025e141911dbeb1250c0caa338f523ee9969d37bf1c8abf53c7a1e5142642d0c04bc283223b7d624a181954671ea47dd32d3a6f7e39157ea0506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd30a0d2a9eb655b99fac7cf0b87b9ba887de8b0d13c7ac6776cb4e9be18e455fa6141a553d6cab733f58f9e170f737510fbd161a278f58ceed969d37c31c8abf4c2834aa7ad956e67eb1f3c2e1ee6ea21f7a2c344f1eb19ddb2d3a6f8639157e98506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd302ce502983bbe1cb29495337fb018b07894f32d397ac81b6db4e9be19e455fa5f59ca0530777c3965292a66ff603160f129e65a72f59036db69d37c33c8abf4be3fa6630dc55af5821f1af5f6b6c0e9dd000f10e2eb2211b7d3a6f8689157e97b0b5f1ec861186dbc0afc13e563dffbb4ac607dc2d645c770a74df0d222afd2f516be3d90c230db7815f827cac7bff76958c0fb85ac8b8ee14e9be1a4455fa5ea2d7c7b218461b6f02bf04f958f7feed2b181f70b59171dc29d37c3488abf4bd45af8f64308c36de057e09f2b1effdda56303ee16b22e3b853a6f8691157e97a842044532e7e95e787c87664e345de345724a382a645e1b0b74df0d232afd2f4f101ae312a6353fa8c5d4f4945f19ee8590d6cc51c8bdda17e9be1a4755fa5e9d2035c6254c6a7f518ba9e928be33dd0b21ad98a3917bb42fd37c348eabf4bd3a406b8c4a98d4fea31753d2517c67ba16435b314722f7685fa6f8691d57e97a740ce97142080c7ffdfb6dcc9aef2d9c2732f8be8b45f074c04df0d23bafd2f4e719d2e2841018fffbf6db9935de5b384e65f17d168be0e9809be1a4775fa5e9ce33a5c5082031fff7edb7326bbcb6709ccbe2fa2d17c1d30137c348eebf4bd39c674b8a104063ffefdb6e64d7796ce13997c5f45a2f83a6026f8691dd7e97a7385aa96ccd572a829783a2f1a6e937ea6ddbce44b15f08f005df0d23bbfd2f4e6f4165324784b787e6d40c0b45c8cdfcd663dee55fbe13840cbe1a4778fa5e9cdd0edcbd3bdfd1928574de3e8387fa21a7740026bc7c28ac1a7c348ef2f4bd39b91db97a77bfa3250ae9bc7d070ff4434ee8004d78f8515834f8691de5e97a73723b72f4ef7f464a15d378fa0e1fe8869dd0009af1f0a2b069f0d23bcbd2f4e6e402f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e0be10a2f53bc5b8dcee07050d8bcd4d9310e4783851c13538691de6297a7371c17c2145ea778b71b9dc0e0a1b179a9b2621c8f070a3826a70d23bcc52f4e6e382f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e04a22fba212283b94bacd2d05822b758dbd26d43551c2d939691de62a7a7371bf20584ff0fab2f9e142608202fab5131626900467a3875673d23bcc55f4e6e37d40b09fe1f565f3c284c10405f56a262c4d2008cf470eace7a47798abe9cdc6fa0d739870c12e6a3cd6483003e132745346826d9b8e1efdd048ef3158d39b8df31ae730e1825cd479ac906007c264e8a68d04db371c3dfba091de62b1a7371be635ce61c304b9a8f35920c00f84c9d14d1a09b66e387bf74123bcc5634e6e37cc6b9cc386097351e6b241801f0993a29a34136cdc70f7ee8247798ac69cdc6f98634bdfb8e94926853149283609856d2f146935b5e1f181058ef3158e39b8df2f52aa181ea8f4cfc22f58786409690258d514c768c3e4a60c1de62b1d7371be5d316688ea284c223c2b7718c009302cac566beace87caf0193bcc563be6e37cb962cd11d45098447856ee318012605958acd7d59d0f95e0327798ac77cdc6f97251ac7c5577930ba87aa28af81b1edaac05f207371f2d6465ef3158f09b8df2e32f6b5157c5889a08c20b3de82c9bdd52b8266a6b3e5c6cccde62b1e2371be5c55ed6a2af8b11341184167bd05937baa5704cd4d67cb8d999bcc563c46e37cb8a49bf9e0bec84eadad4f31f98a8cd9d458cdc05a9f9735734798ac789dc6f97131f9194c4af6c586d76ac672947f96285c5fa6750f2e85269f3158f14b8df2e253f2329895ed8b0daed58ce528ff2c50b8bf4cea1e5d0a4d3e62b1e2971be5c4a0a58abbf9413e46da777c49d1643b211c42bf940cba2eda8cc563c53e37cb89314b1577f2827c8db4eef893a2c8764238857f2819745db5198ac78a7c6f971262962aefe504f91b69ddf1274590ec84710afe5032e8bb6a33158f14f8df2e24c52c55dfca09f236d3bbe24e8b21d908e215fca065d176d4662b1e29f1be5c498319d14a617a0c992444271c95a994916ef01f009ba307e8dc563c53f37cb892f633a294c2f4193248884e392b532922dde03e0137460fd1b8ac78a7e6f97125e5286ab4534e5a900ddcfef1d60c34c56684a1c23e8c39e38158f14fddf2e24bb311faf37402dd4b988660632b7e4c0a77cd69444d188e0712b1e29fcbe5c4975623f5e6e805ba97310cc0c656fc9814ef9ad2889a311c0e2563c53f97cb892ea50911589d719d59dee5e40c2d5f12a989f9cad10462525c5ac78a7f3f97125d32d3483c084962df3a982a97da2407d2beb7bb61d8c4bef8c58f14fe8f2e24ba55a690781092c5be7530552fb4480fa57d6f76c3b1897df18b1e29fd1e5c4974a40e467aee8bb3a8672d0cdee7f601caa5a3134733131623263c53fa4cb892e930ddb280aa7d8f7c4b267c3d4f51e614f60a4c4e362646865c78a7f4a97125d251bb650154fb1ef8964cf87a9ea3cc29ec14989c6c4c8d0cb8f14fe952e24ba4a376ca02a9f63df12c99f0f53d479853d8293138d8991a1971e29fd2a5c4974946ed940553ec7be25933e1ea7a8f30a7b0526271b1323432e3c53fa54b892e92869c4d95753f1ff02f342654748443cf0b68eaa3326482a5d78a7f4aa7125d24f5f9c0b5b7e4680bdb34af28686e6a1dc195fb0634c91f8bbf14fe955e24ba49d4b4a6f63d2ef8433335c0d05042b6bb2df01bcc399259578e29fd2acc497493922a737747c418b1e337e4201feb4ff606a45d584324ccef2c53fa55a892e9271454e6ee8f883163c66fc8403fd69fec0d48bab0864999de58a7f4ab5125d24e216af367ec768af309abf2ffff132257c5559b20dc934dfcc14fe956b24ba49c32d5e6cfd8ed15e61357e5fffe2644af8aab3641b9269bf9829fd2ad6497493865abcd9fb1da2bcc26afcbfffc4c895f15566c83724d37f3053fa55ac92e9270c418c0ca311a7fc3ca2bfa7f77fef53dd570fec6b49a8a261a7f4ab5a25d24e170f2a71f2f9b27b31124577e6f63ccfb55a6234d39352e8c44fe956b54ba49c2d1e54e3e5f364f662248aefcdec799f6ab4c469a726a5d1889fd2ad6a9749385a3ca9c7cbe6c9ecc44915df9bd8f33ed56988d34e4d4ba3113fa55ad52e9270b40565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e1670acbd08947ecb880bde3ce5f50894b4afea805333531d446fe956b56ba49c2ce1597a1128fd971017bc79cbea1129695fd500a666a63a88dfd2ad6ad7493859c2b2f42251fb2e202f78f397d42252d2bfaa014ccd4c7511bfa55ad5ae9270b38565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e167038cf6141552e0ac3ab030decfef2dcaa96c2af30531ee870e956b56ca49c2cdf719ec282aa5c158756061bd9fde5b9552d855e60a63dd0e1d2ad6ad9493859be6f4fddb22b1aadc678d25fabf2299aa5074d18be4c7d45c4a55ad5b39270b37b6ab214112c97de44be6ae74fdab15d44badc8d7998fc2f8a4ab5ab6824e166f5617680cf2f923f41499bf697abc0e28421fb76f031fa0315956b56d149c2cde94eff5a4b3587013a5ffe15274ddfed02f03949dd63f5aa2c2ad6ada393859bd12a110d434170852c8cc25246921e02008cb4efb7c7ecf85955ad5b48270b37a154221a8682e10a591984a48d243c04011969df6f8fd9f0b2ab5ab6904e166f4234568db9dc249769ffcf71123ed62ffcdf161adc1fb5856656b56d219c2cde8368ad1b73b8492ed3ff9ee2247dac5ff9be2c35b83f6b0accad6ada433859bd065d6c8f9446f4e05fcc03ec40f1b6e7ee289ac76d7ed7b99a5ad5b48770b37a0b46eb77d5644c437764ce0079d9cbf7d6fd77ead7fdb11735b5ab690fe166f41519e948579efb09a6966228eba9f617a8a73231acfb63d26c6b56d220c2cde82933d290af3df6134d2cc451d753ec2f514e646359f6c7a4d8d6ada441859bd05267a5215e7bec269a5988a3aea7d85ea29cc8c6b3ed8f49b1ad5b48830b37a0a45b5c9b69ce3acfec7fd76f55460ee53fe5d3e964db2037645ab69107166f414742cb8f8072d82290cc7506a2827bf27a77ea2ec6b64212c9b56d220f2cde828d11a977adbc12c7d965b0353cfb560cef9c16b98a6c85c9946ada441f59bd05192352ef5b78258fb2cb606a79f6ac19df382d7314d90b9328d5b4883eb37a0a3246a5deb6f04b1f6596c0d4f3ed5833be705ae629b2172651ab69107d66f41464195e161ab6f8c182fa47d1dfd10e8f778cf82850642ff0a456d220fbcde828c732bc2c356df18305f48fa3bfa21d1eef19f050a0c85fe148ada441f79bd0518e6578586adbe3060be91f477f443a3dde33e0a14190bfc2915b4883ef37a0a31c570309828e288ecf9f04b6f67ed2a3b714039e8021812923b69107df6f4146373a186bb1f2b3a0570acf95e4f4036f68d44998fd4303f6486d220fbfde828c6d00433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d90012727a2469e94e7c976dabb4c06bc0a4575e4b091322c7b5883f017b0a31b1ff24e4f448d3d29cf92edb576980d78148aebc961226458f6b107e02f6146363fe49c9e891a7a539f25db6aed301af02915d792c244c8b1ed620fc05ec28c6c7fc1fa629d025acf69c8833859df9bc2d1d6734b4459917e1ad41f80bd9518d8ff73f4c53a04b59ed3910670b3bf3785a3ace69688b322fc35a83f017b2a31b1fee0aaaffed6d165d29ed943e6fdd4edc7049152d1364612ab607e02f6646363fdb1555ffdada2cba53db287cdfba9db8e0922a5a26c8c2556c0fc05ecc8c6c7fb62aabffb5b45974a7b650f9bf753b71c12454b44d9184aad81f80bd9918d8ff6c5557ff6b68b2e94f6ca1f37eea76e38248a9689b230955b03f017b3231b1fed836c25783a7c85556a60a0ef5cb4beeff3d952d3346144f617e02f6656363fdaf6d84af074f90aaad4c141deb9697ddfe7b2a5a668c289ec2fc05eccac6c7fb5e671bb6bb7583d81264ee63cf238de3f7a29710ca1852e186f80bd9968d8ff6bb5a49c623c16a32dc96a2ef963d79efe9f1707d9130a7670ef017b32e1b1fed7540a5e4f45936e870fa0c0724715207ce8f23571f6150721ee02f665d363fdae90d5e229588d05399c0de3640d9023797ca890a3bc2a2883ec05eccbb6c7fb5d11abc452b11a0a73381bc6c81b2046f2f951214778545107d80bd9976d8ff6ba235788a5623414e670378d9036408de5f2a2428ef0a8a20fb017b32edb1fed7446af114ac46829cce06f1b206c811bcbe544851de151441f602f665db63fdae8861f482056367bc53daa98c058681a17754d2ffb92a2a27ed05eccbb7c7fb5d0f4ffb5cb79d31fb5f8219400303616ae955e85b6f5455f3db0bd997708ff6ba1d2c09121c10c67976d0f8a7fdfd20fdcd581312dba8ad8bb717b32ee21fed743958122438218cf2eda1f14ffbfa41fb9ab02625b7515b176e2f665dc43fdae8723c36a11d197c689310a8c7efeae21f300c8ea76ba2b7d2dd5eccbb897fb5d0e3047f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c508ff35ce12b6a7bbdc2f6faf9844ccb58abf55a88ae293777b32ee27fed7438a11fe6b9c256d4f77b85edf5f3089996b157eab5115c526eef665dc4ffdae871423fcd7384ada9eef70bdbebe611332d62afd56a22b8a4dddeccbb89ffb5d0e2847f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c501c05b58e01ccfe758fbd22f17aaaf3535837b685ae2adb78b32ee280ed74389f380b6b1c0399fceb1f7a45e2f555e6a6b06f6d0b5c55b6f1665dc501dae8713e7016d6380733f9d63ef48bc5eaabcd4d60deda16b8ab6de2ccbb8a03b5d0e27c6c40051ce4ca76644aaf3f83cbb5c2956e00102a71587fc6997714086ba1c4f7649262e69ff76f806224a6ff8dc9ad2588427c51e2b2a38e32ee2811d74389ed55371e7a165161b8910f75f711f18245bcc754a0c566eb1d65dc5024ae8713d9368095a103054628eee513e61a412c8625d1053e8acf7a3bcbb8a04a5d0e27b16d012b42060a8c51ddca27cc3482590c4ba20a7d159ef47797714094ba1c4f626614af30e2779b5b885a77905f62da13438670f72b3f8cf02ee2812a74389ec3583bb70e9b51b96edd7b1718b523dc21334f3deb5680bde15dc50255e8713d853c89c6ca0d05f59587bc562960a5e03d12e0d7d3ad031fc3bb8a04acd0e27b090525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f6110a4bcc81e0dcdbc5b87da8956f53d0e9a4081748b40fc710ee2812b54389ec2214979903c1b9b78b70fb512adea7a1d348102e91681f8e21dc50256a8713d844292f320783736f16e1f6a255bd4f43a690205d22d03f1c43b8a04ad50e27b088525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f611030cf20cae4303f1354a0b14eeb9b3694ecc3d08840fe150fe2812b55389ec21f619e4195c8607e26a941629dd7366d29d987a11081fc2a1fc50256aa713d843e4f4edbd867237f051f48ed33a4cb024e5f519e1e03f9f8408a04ad55e27b087b2ab0105da4a980c20b58025f3ff42c976ae5983907f5948214095aacc4f610f5556020bb4953018416b004be7fe8592ed5cb30720feb29042812b55989ec21ea36d29a23690885bffa263174f62eda5857d8bce11fd7f60950256ab413d843d36da53446d2110b7ff44c62e9ec5db4b0afb179c23fafec12a04ad56827b087a6675cc13a7a8499b7b55eedcbcf19915c0ba54f817f617c264095aad14f610f4b5acbdb21cb6bb6273784038f94914ab2c38cfafffec49c4d812b55a39ec21e9541aa0ef06d39ef063bce2f171f80bd60335c51fcfd8adc9c0256ab483d843d290f66768db0d660c444628626355fa2bb12fafff6fb175d3904ad56917b087a511ecced1b61acc18888c50c4c6abf457625f5ffedf62eba72095aad22f610f4a23d99da36c3598311118a1898d57e8aec4bebffdbec5d74e412b55a45ec21e94407460d1a5d1588d9efda5929a15b3dd3441a5bb4d8bc8dc9256ab48cd843d2870e8c1a34ba2b11b3dfb4b25342b67ba68834b769b1791b924ad56919b087a50e1d18346974562367bf6964a6856cf74d10696ed362f2372495aad233610f4a1c3a3068d2e8ac46cf7ed2c94d0ad9ee9a20d2dda6c5e46e492b55a466c21e943800732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f007266fdfc4c83304ca43b4c101a6885d67c70f1149502caae56919d097a50ddff70e054a56f68e351153cc0182b2f33a7a5243e262a07395dad233a13f4a1bbfd6dd301f7b5344959f73fa8284cbc8f49f68ad849541016bc5a467428e94377f967b85c9c40cb156bbb4578488fd7468e99580c8fa821d179b48ce852d286eff15b8311e557f8ad8f43511889160cb517def2751c504546f46919d0a6a50ddfe143187c778653ddd65368590a2277922a6a274635a08c31e9d233a14e4a1bbfc11243519be30a3e647396da0c3b4d4c4f8090e868411a07d4a467429d94377f812486a337c6147cc8e72db418769a989f0121d0d082340fa948ce853b286eff02490d466f8c28f991ce5b6830ed35313e0243a1a104681f52919d0a7650ddfe041e2ce58beeb475db697cf859d0c88a76b0c99f3f08d1e2a6233a14eda1bbfc073c59cb17dd68ebb6d2f9f0b3a19114ed61933e7e11a3c54c467429db4377f80e04c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b098bddb92268b44ae57412be7300a3aaded1b1f246925d3319d0a76f0ddfe0361317bb7244d16895cae8257ce6014755bda363e48d24ba6633a14ede1bbfc06c262f76e489a2d12b95d04af9cc028eab7b46c7c91a4974cc67429dbc377f80d84c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b024d0343efcedc766240753df266862a8995d7b21692777329d0a76f1ddfe035f49a0687df9db8ecc480ea7be4cd0c55132baf642d24eee653a14ede3bbfc06be1f5329a8ca19a0505ce377748fffb29d11b84882a49f80cb7429dbc877f80d7b3ea65351943340a0b9c6eee91fff653a23709105493f0196e853b790eff01af6095eff4ffec903f9405405ca365cf26ef3237e07927fa72ed0a76f22dfe035eb12bdfe9ffd9207f280a80b946cb9e4dde646fc0f24ff4e5da14ede45bfc06bd6257bfd3ffb240fe501501728d973c9bbcc8df81e49fe9cbb429dbc8b7f80d7ac4af7fa7ff6481fca02a02e51b2e79377991bf03c93fd3976853b7916ff01af5822024dacc2f2c24bd206849b5c2d4ee9de7a3c7627fc16ee0a76f22efe035eaf44049b5985e58497a40d0936b85a9dd3bcf478ec4ff82ddc14ede45dfc06bd5e141b8f5fe22d8be714e03a65671363a2262b4dd59ff1ffb929dbc8bcf80d7abb28371ebfc45b17ce29c074cace26c7444c569bab3fe3ff7253b79179f01af576506e3d7f88b62f9c5380e9959c4d8e8898ad37567fc7fee4a76f22f3e035eaec2ceed3abe7cee1f073c7fb232ef9450bdd9ccaa9ff91a1ca4ede45e8c06bd5d759dda757cf9dc3e0e78ff6465df28a17bb399553ff2343949dbc8bd180d7abae3fcda75c759e0a799be61484b2433c2a22b586a4fe482b2a3b7917a401af575b0bada765c19e97ab049251015ae4a04ef1ad6946fc91fa5576f22f49035eaeb5175b4ecb833d2f560924a202b5c9409de35ad28df923f4aaede45e9206bd5d6a2eb69d97067a5eac124944056b92813bc6b5a51bf247e955dbc8bd240d7abad45d6d3b2e0cf4bd582492880ad72502778d6b4a37e48fd2abb7917a481af575a846eccf08f04bfd6815eb380da4a82ce9c718f06cc92149586f22f49135eaeb4f19ebf6beb6fa7d87f89c98133fae81ce3a743cd6924436b1de45e9236bd5d69d33d7ed7d6df4fb0ff13930267f5d039c74e879ad24886d63bc8bd246d7abad3a67afdafadbe9f61fe272604cfeba0738e9d0f35a4910dac77917a48daf575a745b720ea28e366ef791aae891f3d2366c7fe442b19223598ff22f491c5eaeb4e742f675f1f2cf60a6f01bf91bde0294d3ac0ae16024485720e45e9239bd5d69cd11ff4490bc014405acfe1a2fb26351a204581ebd48925242c8bd24747abad39923fe89217802880b59fc345f64c6a34408b03d7a9124a485917a48e8f575a73247fd1242f0051016b3f868bec98d468811607af52249490b22f491d1eaeb4e641c0c7d32b66ca2e534b6f9758978b50acf0351e74494361745e923a4d5d69cc73818fa656cd945ca696df2eb12f16a159e06a3ce89286c2e8bd24749abad398e7031f4cad9b28b94d2dbe5d625e2d42b3c0d479d1250d85d17a48e93575a731c6c76424289c799e1727df3a44223d051245ceb3724a354bb2f491d27aeb4e63764fedd31e9f1b67ab1c20f407aa5c89cf4fc326b49484d775e923a505d69cc6d56101310aa45efad304a4678eba9b934963ac0d392923eefbd2474a1bad398d938327ece2aee62122d5ab4e9cdb19a63d8b7dda4252621e07a48e94475a731b17064fd9c55dcc4245ab569d39b6334c7b16fbb484a4c43c0f491d288eb4e63626cdc53e5821c0b008230fb9f2d24918a0f21d28d949a2b82e923a512d69cc6c365cb0077da9a98b8d1281f3650a74b0eca8601182935fb06d2474a26ad398d8557a8599c8b97b4296f16666497acbe18414e5e2d526d9a0ea48e944e5a731b093b630be5ed91eb0aaaf2f4c125b7a42b2edf1857a4dcd81e491d289db4e6361102d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420b61c1e2c61963348ab045e90735c144280232b126ed50f648e944f1a731b08416c383c58c32c66915608bd20e6b8288500465624ddaa1ec91d289e34e6361082d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420422e76d937f8b60077ca868869ba3c3d2c65870f6ed6b3658e944f1b731b083f106f465f4653eeb8bc5b3508c9d2a075050d6a1bddaf0acc1d289e37e636107d20de8cbe8ca7dd7178b66a1193a540ea0a1ad437bb5e15983a513c6fcc6c20fa41bd197d194fbae2f16cd423274a81d41435a86f76bc2b3074a278df98d841f40f8c8ba70901f87daf9fd03e44f32ba2d4adacdbed79fa61e944f1c031b083e71f19174e1203f0fb5f3fa07c89e65745a95b59b7daf3f4c3d289e380636107ce3e322e9c2407e1f6be7f40f913ccae8b52b6b36fb5e7e987a513c700c6c20f9c0876b5e51e7246a549c4a9ea1df7851151afc2dc6bd177104a278e028d841f3710ed6bca3ce48d4a938953d43bef0a22a35f85b8d7a2ee20944f1c051b083e6e21dad79479c91a952712a7a877de144546bf0b71af45dc41289e380a36107cdc43b5af28f392352a4e254f50efbc288a8d7e16e35e8bb882513c70146c20f9b8137db6febd86ed0c6910c699d5d6790fc73e89c3bd191505a278e029d841f36f26fb6dfd7b0dda18d2218d33abacf21f8e7d13877a322a0b44f1c053b083e6de4df6dbfaf61bb431a4431a675759e43f1cfa270ef464541689e380a76107cdbc280010a2c299eb1b154c5cc6a511f078e636aa1ae8ca4c2e13c7014fc20f9b77500021458533d6362a98b98d4a23e0f1cc6d5435d194985c278e029f841f36ee2c129b37e0ca2f2421f79b128aa5e9de451d0468a32ad4b94f1c0540083e6ddb5825366fc1945e4843ef3625154bd3bc8a3a08d14655a9729e380a80107cdbb63c5cc58c598b3f4854a4944220f5cf73c0b66d9f8cacf6e63c70150120f9b76b04cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50997c78b12f20290ec1ea0f870938dc45b5e6e7832b7239af1c0540683e6ddaa132f8f1625e40521d83d41f0e1271b88b6bcdcf0656e4735e380a80d07cdbb54265f1e2c4bc80a43b07a83e1c24e37116d79b9e0cadc8e6bc701501a0f9b76a84cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50258ed15e0582abc68eb0377eff970440622943802b73ddb01c0540693e6dda9f4b1da2bc0b05578d1d606efdff2e0880c452870056e7bb60380a80d27cdbb53e224d9e24ec6d31d2078705f3f4ba38fc34e769fdadd11ac1701501a5f9b76a7b449b3c49d8da63a40f0e0be7e97471f869ced3fb5ba23582e02a034bf36ed4f61548d140881749ffeae23fc7c9470beb7fe003f3b7460f06c0540698e6dda9eb2a91a281102e93ffd5c47f8f928e17d6ffc007e76e8c1e0d80a80d31cdbb53d655234502205d27ffab88ff1f251c2fadff800fcedd183c1b01501a639b76a7ac3658e2b1171cd2b723d8263640968756ab427b9aba321c3702a034c836ed4f576cb1c5622e39a56e47b04c6c812d0ead5684f7357464386e054069906dda9eae6575e37132d5cd945c26c0d0f8b84555594c4a67e8ca14dd0a80d321dbb53d5b56fe1f8f3c0e1de08513a999e7ceb2a55edaf0ccd195cdbb1501a644b76a7ab53a0e97cb4e7ebe78d6ed7b2bc5fb8d4569f83d96a32d3f772a034c8a6ed4f569002f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a2004a33667a566128a2513f66014b683dfb779f0516708d61511a645777a7ab43ff207925a18324d3fc6f44f3fa8d2ea3f19b806629e11c66a334c8aef04f5687fd40f24b430649a7f8de89e7f51a5d47e33700cc53c238cd4669915de09ead0ffa0df6ef32e2f5d2a989d9f7e22b18b7c11a43f4a484733e8dd322bbc23d5a1ff31bedde65c5eba55313b3efc456316f823487e94908e67d1ba64577847ab43fe637dbbccb8bd74aa62767df88ac62df04690fd29211ccfa374c8aef08f5687fcc6fb7799717ae954c4ecfbf1158c5be08d21fa5242399f46e9915de11ead0ff986b814bdb05bfad506a65a61aa7e9a40c5081a64547358cde322bbc24d5a1ff2f6314f062e1e1dd58a191742d463170134d45a8878e6cbdbd6457784aab43fe5d523c39729a263d690fe9105282c1082146cdad0c1cdb1f7bc8aef0965687fcb9308acb920aaefd89ec98489cfbe0383d39ddb61539b7e2f8915de12dad0ff97161159724155dfb13d9309139f7c0707a73bb6c2a736fc5f122bbc25b5a1ff2e24e3d86f5011e78df7f274a6be5df08ef93b93451e6e12fe3457784b7b43fe5c3288d6696d89f7476cb14bccfc21c39d9d3b4c4a0cdc403c78aef0970687fcb85511acd2db13ee8ed9629799f843873b3a76989419b88078f15de12e0d0ff970a2e47f30838e05492f9191b36fecf0f61fb156e803711b31f2bbc25c2a1ff2e135c8fe61071c0a925f232366dfd9e1ec3f62add006e23663e57784b8543fe5c26453224cdb9e3d503b12a94d3f19a6582989815fddc48707daef0970b87fcb84b1676a2484a2a2cbf2f1b519fd992f2ffdd7287f8b89284fc5de12e180ff970952ced44909454597e5e36a33fb325e5ffbae50ff1712509f8bbc25c301ff2e12a59da892128a8b2fcbc6d467f664bcbff75ca1fe2e24a13f17784b8603fe5c2543fc76aef27b3e8b145a0b4f6c2f5bff997d69bc2c495cbe3ef0970c17fcb84a70ba12e8b25ca541a580791e57c49a7eddbef9382892d3bc8de12e183ff97094d17425d164b94a834b00f23caf8934fdbb7df2705125a7791bc25c307ff2e129a2e84ba2c97295069601e4795f1269fb76fbe4e0a24b4ef23784b860ffe5c25345d0974592e52a0d2c03c8f2be24d3f6edf7c9c144969de46f0970c1ffcb84a684625415f3307c45d4d3f464fbaf8a6d86b3b942592d5608ee12e1840f97094cf185cdb6b3c720b726744b4976c4f75ab82b9844825ac651ec25c3082f2e1299d30b9b6d678e416e4ce89692ed89eeb57057308904b58ca3d84b86105e5c2533a61736dacf1c82dc99d12d25db13dd6ae0ae6112096b1947b0970c20bcb84a6744ef93406b9f2de4b06ebccb358d9d556c20e7e3e2d64ccf712e1841897094ce72a04c0ba4a483f4dda9dc15ea811d2a8305f58795acb3def25c308322e1299cd5409817494907e9bb53b82bd5023a55060beb0f2b5967bde4b8610645c25339a34255b95ff837fef373d2d7296a5729b6dbfbde26b2e9bbd970c20c9b84a6733684ab72bff06ffde6e7a5ae52d4ae536db7f7bc4d65d377b2e1841937094ce665ca7c704d4708274a9baddc250f3f26863415386acbc12f75c308327e1299ccb4561e6b67f4387a1203be37c98460ccb72c5030a5979c9efb8610650c253399516d62619d4e991fa0d3deef126ea419191cc6211b2f537e070c20ca284a673292dac4c33a9d323f41a7bdde24dd483232398c42365ea6fc0e1841945094ce6525b58986753a647e834f7bbc49ba9064647318846cbd4df81c308328a1299cca442c3897b7daf128836b59f812db034873aa56c8a97ab6304861065152533994711996ba3d1c0a7c83a3166fa51be9109218d35122f586a0a0c20ca2b4a67328d2332d747a3814f907462cdf4a37d2212431a6a245eb0d4141841945694ce651a4665ae8f47029f20e8c59be946fa44248634d448bd61a828308328ad299cca3418ddb5cb6467c0f99e515fca8452b043b8ac048e7ac4f4516106515b5339946731bb6b96c8cf81f33ca2bf9508a560877158091cf589e8a2c20ca2b6a67328ce6376d72d919f03e679457f2a114ac10ee2b01239eb13d1458419456d4ce6519c53000707f9a08a84bf51264c18f3aa1871a28070d629468c08328adb99cca337321266bcc9a397c14b68749028457c2b8f875cdeac543119106515b83399466d6424cd7993472f8296d0e920508af8571f0eb9bd58a8623220ca2b7067328cda545bf39ffcf0e1bcfa67fa38977418a8ea5fcf77b1526865419456e1ce6519b334ca3fecd0444631c1961c692546594c8101faec62a674cb8328adc49cca336569947fd9a0888c63832c38d24a8cb2990203f5d8c54ce99706515b89399466ca5f3b586017739b7ed31e999c8b778d2cb04a47ae8a9b772f0ca2b7137328cd934a89096d0549b9b573035b310d4d42540cd6eb5a1538925f19456e27e6519b2521246b86e0f5f622b2ccde5a10f8aca2c5f032b12a72c8bf328adc50cca336494248d70dc1ebec456599bcb421f159458be0656254e5917e6515b8a199466c9210a406c85a3a5b4297f9a1603a40da85c40326c1a9ccc6fdca2b7144328cd92321480d90b474b6852ff342c07481b50b88064d8353998dfb9456e2886519b24642901b2168e96d0a5fe68580e9036a17100c9b06a7331bf728adc510ca33648c11328eefa8355ccc8c9332f9c864fc28cc5b920a4e67dbef515b8a229466c91722651ddf506ab999192665f390c9f85198b724149ccfb7dea2b7144528cd922e44ca3bbea0d57332324ccbe72193f0a3316e4829399f6fbd456e288a519b245c15a6d02a180d691c315fbfc6398609410f1eec4f7340837b8adc5115a33648b72b4da054301ad23862bf7f8c730c12821e3dd89ee68106f715b8a22b466c916e569b40a86035a470c57eff18e61825043c7bb13dcd020dee2b7144568cd922dc3948d9fd96cdcb9957c42629c28e72032539be789a05bfdd56e288ae19b245b77291b3fb2d9b9732af884c53851ce4064a737cf1340b7fbaadc5115c33648b6e7135c0a33199b11d2bd6c09f0097f007412955df6818a3765b8a22b966c916db6e7dd9f33995e4f22473a935f78e08092e9507bbd032eaedb7144573cd922db5690e0c93498e4c9c15ad7a63e57a380d096c6b74a06779dc6e288ae89b245b695e2e71d3697f1beff8211cbfc1529814bf1b32e640d097b9dc5115d23648b6d1486f3c53a960ba97bd086177790358242a78c1c981a2d374b8a22ba56c916da11cf0d1542923f7e746d6eae6e864d8430133df9003474aea7144574bd922db4139e1a2a85247efce8dadd5cdd0c9b0860267bf20068e95d4e288ae97b245b68273c34550a48fdf9d1b5bab9ba193610c04cf7e400d1d2ba9c5115d2f648b6d047398e34e1f8241f2037d7f2f3984ea12b5e1587d1a3bfb548a22ba5fc916da0773441f491567069bd3c126566967fc2018050cf734799aaa144574c0922db40d729a973f01308fef744874a4c92e203adc4c75eb68f4d955288ae982245b68197147872ad8c3a296b557114188ba687064db47d3d1eb56ab5115d30548b6d0316ea1670287e9c7e537744a7b07d2f8db75f8eba4a3d85157a22ba60b916da061695526b1e63612823baebcee060419b19834334647b246b044574c1822db40c15ebca610a2cea7bc4423a1d402665b5ddcaac2898f66316188ae983145b68181498ba4ce1bffd230550d6b9ffb2adeb66597e1101ece06c4115d30638b6d03011f29a2490e62271876e0ff37ecb3e56777721e1d3d9db18922ba60c816da06013e5344921cc44e30edc1fe6fd967caceeee43c3a7b3b63124574c1902db40c0208b8e1d10feb1f19a84a24d7a92dbd988a0ad471f6786a258ae983215b6818031171c3a21fd63e33509449af525b7b311415a8e3ecf0d44b15d30642b6d0300622e387443fac7c66a128935ea4b6f662282b51c7d9e1a8962ba60c856da0600c45c70e887f58f8cd425126bd496decc45056a38fb3c3512c574c190adb40c01817a075bdd514745251687572893a01834cefa31c67884659ae983216b681802f2f40eb7baa28e8a4a2d0eae51274030699df4638cf108cb35d30642d6d03005e5e81d6f75451d14945a1d5ca24e8060d33be8c719e211966ba60c85ada0600bc4916069b7f06254a5809d38c402e341513bf74e03c43d6ce74c190b6b40c01771e3e65e3d46ecd4c7cd9cf1076ba9024d3c145bd7889519de983216e681802ed3c7ccbc7a8dd9a98f9b39e20ed752049a7828b7af112a33bd30642dcd03005da050bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb30a17e078503b6fd3805ac873a290d11bf68ee5e5c44dd4f14c190b7540c01766142fc0f0a076dfa700b590e74521a237ed1dcbcb889ba9e2983216ea81802ecc285f81e140edbf4e016b21ce8a43446fda3b9797113753c530642dd503005d9850bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb302d906031da197fefd272af321f6b39ba1530ba5944def315c190b7550c01765f5b20c063b432ffdfa4e55e643ed673742a6174b289bde62b83216eaa1802ecbe4253d9743ec882771690e4c0740b0ee301054562137d70580642dd553005d97b10ba0b9553f387a5f9e7f178de7445c0ae4ce6c126fc84b10c85baab600bb2f52174172aa7e70f4bf3cfe2f1bce88b815c99cd824df90962190b7556c01765ea42e82e554fce1e97e79fc5e379d11702b9339b049bf212c43216eaad802ecbd411e2b55775febfe79c05b3beea0056001ea9920637e5c989642dd55c005d97a723c56aaeebfd7fcf380b677dd400ac003d53240c6fcb9312c85baab800bb2f4e478ad55dd7faff9e7016cefba80158007aa64818df97262590b7557001765e9c1b280368865881f4acf3c5ef4660d7fba18eec2ebf2ff04c216eaae102ecbd37365006d10cb103e959e78bde8cc1aff7431dd85d7e5fe09842dd55c205d97a6e6ca00da2196207d2b3cf17bd19835fee863bb0bafcbfc13085baab840bb2f4dc655273f10926925d346457722964e7d7b8b9bd72f98126620b7557091765e9b756b7408ee8afa772358ed6dc4927f7aa1db5d6e2f303f0c516eaae132ecbd36d3980d9caa7c1d19c37e3d5b088ae174ee7ae09c2e609858b2dd55c275d97a6d97301b3954f83a3386fc7ab61115c2e9dcf5c1385cc130b165baab84ebb2f4db27215bfd77569c928ac557eba191685364afa83089827ba2db755709e765e9b63703dd85bc13615092571256c288b32674237620e3051185c6eaae13decbd36c56c8e096458ceacca17a872d047748cc930b1201960a3d4b9dd55c27cd97a6d89652e6b7587ffdc4bfc170d988547418d0da49c2fc1494d74baab84fab2f4db11566f2f97e6623b4fc4f4432900ecab14c78b945c82943eea755709f665e9b62138f0b7dca326f95756aeae49f8377e243b5984b6052a21d5eaae13edcbd36c4171e16fb9464df2aead5d5c93f06efc4876b3096c0a5443abd55c27db97a6d8826fd5381f62fe68152780e11fd73c208b99a86ed514aa2b58aab84fb82f4db1036bbcc8eb9c5f52e21bc7ea37a4d66911df9339a72955fab255709f715e9b6205638bea840f21287c0455fc67400afa1e6b68cf4b52ad9965aae13ee3bd36c409532a2db4f4a4d3afd57220c676741c378313fa93a55cd6cc55c27dc87a6d88113266b416bfac2a1777aa6984e3466069b26a51244abb5199ab84fb91f4db102164cd682d7f58542eef54d309c68cc0d364d4a2489576a3335709f723e9b6204255ad2907d5132b15ab6fce0b8377a9a175eba08e2aeeea67ae13ee48d36c4083376caabc8088d8e323a5c40efd4d7b3d98199d1955df78d05c27dc92a6d881056ed955790111b1c6474b881dfa9af67b30333a32abbef1a0b84fb9254db1020a69c5039ed885e6445b5d3833eb9414f10ca8d062577f8742709f724b9b6204135f9c5fea876e4f408380985fcd8651dcc593fcc1af00b285e13ee49836c408254b4b1881e53f2138d3c758b7916acbb4376a55805e03090cc27dc9316d88104922a889b0a0e0c5297454d9671933bf631b1706fdbc07b61a84fb9263db1020914551136141c18a52e8a9b2ce32677ec6362e0dfb780f6c3509f724c7b620412216b47f6f59e5975d9e198d945b2d2587189e77f3f0207c6b13ee49906c4082432d68fedeb3cb2ebb3c331b28b65a4b0e313cefe7e040f8d627dc9320d88104865ad1fdbd67965d76786636516cb4961c6279dfcfc081f1ac4fb92641b102090c41b65427a58f3da4bd92949acfc7543371361b9c810587599f724c84620412170f7f00fc2180fe0147eb512d95ecd0618eae9336020cb2b43ee49909c408242d1efe01f84301fc028fd6a25b2bd9a0c31d5d266c041965687dc932138810485a3dfc03f08603f8051fad44b657b341863aba4cd80832cad0fb926427102090b4080a608de26a72c20c20b164a5c4ab0721b6f5ad106739a2f724c84f204121671014c11bc4d4e584184162c94b89560e436deb5a20ce7345ee49909e408242ce2029823789a9cb083082c5929712ac1c86dbd6b4419ce68bdc93213c8104859c4053046f1353961061058b252e2558390db7ad688339cd17b926427902090b380cb8618afd09aed88ed13e4252a8d86cc7b1b6ce06753e30724c84f30412166f1970c315fa135db11da27c84a551b0d98f636d9c0cea7c60e49909e608242cde32e1862bf426bb623b44f9094aa361b31ec6db3819d4f8c1c93213cc104859bc65c30c57e84d76c47689f2129546c3663d8db67033a9f183926427982090b3785798715ca6fd7040b9da0c1d20ebaec7275dc8dd6755870824c84f31412166ef3b433b66245d6339407a403238358588fafdedb7ceacb21149909e638242cddd0298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720a633de47c7524a936eaa1719b24cc3288f8ddb2756c208e4c84f32012166ee414c67bc8f8ea49526dd542e33649986511f1bb64ead8411c9909e640242cddc8298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720324636f49db4cd4b3b703f11a8aaeb233bd0372456c3ace5c84f32022166ee3f648c6de93b699a9676e07e235155d64677a06e48ad8759cb909e640442cddc7e552b347f4d35b7e4ba87243e9909d4879b83388e5b105798213cc809859bb8fb3668c1ab70cdf28141d470752871d109e348cd19b6225331427990140b3771f56cd18356e19be50283a8e0ea50e3a213c6919a336c44a66284f32028166ee3ea65b55f5a999a4cbcd417e9cc98256c2239659063d88af0c609e640512cddc7d3577d176209971c3174f5fb9126a9003f1f0d7cc4b117858d13cc80a359bb8fa53b0c8770e990bb1ab6b21f1a43b02878ea5d55866230af1b27990147b3771f49022b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d2208ad9e3aa60fe3b4e8a998b1f6f9e3b203f41c27118c08dd3cc80a419bb8fa44115b3c754c1fc769d1533163edf3c76407e8384e231811ba799014833771f48822b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d22016ec3c573760be06575fb31765fc631aeb841e6e18c231d4cc80a41abb8fa43f2dd878ae6ec17c0caebf662ecbf8c635d7083cdc318463a999014835771f487e5bb0f15cdd82f8195d7ecc5d97f18c6bae1079b86308c7533202906aee3e90fc43743b66916872ea87c3c0b3264140d208634f6dc61332a7640520d6dc7d21f712facf79f933688cdc4da95e42e0a99ebd08fad88c28094fc80a41aeb8fa43ed25f59ef3f266d119b89b52bc85c1533d7a11f5b11850129f9014835d71f487da4beb3de7e4cda2337136a5790b82a67af423eb6230a0253f202906bae3e90fb423e8d47c9ffdc71eaf3372ea0d6374f0948a32c16141ee7f40520d76c7d21f6747d1a8f93ffb8e3d5e66e5d41ac6e9e129146582c283dcfe80a41aed8fa43ece1bb5aa9f56599f328993f3a02bebfbbcfe6b270285095dfe014835dc1f487d9b376b553eacb33e651327e74057d7f779fcd64e050a12bbfc02906bb83e90fb366ed6aa7d59667cca264fce80afafeef3f9ac9c0a142577f80520d7707d21f66c69bfada7892f7c4c1965c4f955be05e29f9b9411284c93f10a41aee1fa43ecd75f91b3fbe8c17b4fff91b1eaa1da33bfeb79841f509acbe314835dc4f487d9ad4b35c0a4a7e57957cbe98bcd3a128f7a8335643ba1373bc72906bb8ae90fb359227dd9f6262d756764993f926a8346efb2ad247442701b8f520d7716d21f66b144fbb3ec4c5aeacec9327f24d5068ddf655a48e884e0371ea41aee2da43ecd621609c0856f1858555f2b2641a06b43b976f6edce09c2123e4835dc5c487d9ac32c13810ade30b0aabe564c8340d68772ededdb9c1384247c906bb8b890fb358658270215bc6161557cac990681ad0ee5dbdbb738270848f920d7717121f66b0c3c605cd84f254562c61f5a04f9b845c663f9ca6d4e1235f341aee2e343ecd61704d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d09a624bae95a1afab209b803d39d670ee86be1af384c1fcf06bb8b8f0fb3585a134c4975d2b435f564137007a73ace1dd0d7c35e70983f9e0d77171e1f66b0b4269892eba5686beac826e00f4e759c3ba1af86bce1307f3c1aee2e3c3ecd61684d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d02674a45b6c043262ed61a835303498e9330076f084c3a0f16bb8b8f1fb35859f4ce948b6d80864c5dac3506a606931d26600ede1098741e2d77171e3f66b0b3e25e4ea1a86734c43824cc8ccb7308b9f784437bf131027c6aee2e3c8ecd6167b4bc9d4350ce69887049991996e61173ef0886f7e26204f8d5dc5c791d9ac2cf623a60116f02fb3c5d5f94b2ad32056788d533af94c42431bbb8b8f24b35859eb474c022de05f678babf29655a640acf11aa675f29884863777171e4966b0b3d61aaa5d08972151cf24ab54a342df81dce18f47e2310ab06fee2e3c93cd6167ab3554ba112e42a39e4956a94685bf03b9c31e8fc4621560dfdc5c79279ac2cf566aa974225c85473c92ad528d0b7e0773863d1f88c42ac1bfb8b8f24f35859eac616540f18f6d1130f220cd120d5a36e1b8bc9b0e885727807171e49f6b0b3d574edcda8ff53ca519b107c21c111295be1dbb921a10aff301e2e3c93fd6167aad29cc0dccc0dbcceb2ed5ac3018835376e7b9803121618a04c5c79280ac2cf55953981b9981b799d65dab58603106a6edcf73006242c314098b8f25015859eab233428fdfd9d1b664881cd8b8586b75d64b285cc18587cc14171e4a03b0b3d56366851fbfb3a36cc91039b170b0d6ebac9650b9830b0f98282e3c94076167aac6591c982c3da95c49ed398ad9580bff53d8e3cf031620d4515c79280fc2cf558b3e4b890551b53b4ba7393daaa67626a25e09fa032c434ca3b8f25020859eab1508a96ab779ccf94f1b38a34d434a753f6856500358883d4871e4a0420b3d56291152d56ef399f29e3671469a8694ea7ed0aca006b1107a90e3c94084167aac5222a5aadde733e53c6ce28d350d29d4fda159400d6220f521c79281082cf558a4454b55bbce67ca78d9c51a6a1a53a9fb42b2801ac441ea438f25021059eab14816a90424733217a980505ccc2b057bf131a75c32888578881e4a0421b3d5628f2d520848e6642f5300a0b998560af7e2634eb865110af1103c94084367aac51e5aa41091ccc85ea601417330ac15efc4c69d70ca2215e22079281086cf558a3c415a79d06ff34003cf490e594e8a0784397d3d91442d6841f250210e9eab14770ec74c4db64902bf6b5844aa937237031f3cd71f885c7484e4a0421e3d5628ed1d8e989b6c92057ed6b0895526e46e063e79ae3f10b8e909c940843c7aac51da3b1d3136d9240afdad6112aa4dc8dc0c7cf35c7e2171d21392810878f558a3b4024cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece0932ec6a22aa62cc9e21353247bf804e98a453e50b9520a0940843cbaac51d9c1265d8d44554c5993c426a648f7f009d3148a7ca172a414128108797558a3b3824cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece01f411f4f0108af81aed97b1c72562ce436879a4db953ae0a40843cbbac51d9bf3e823e9e02115f035db2f638e4ac59c86d0f349b72a75c148108797758a3b37e0916d5e8da8540be882c1469bfb6db8b8660c533e5505c2a0210f2efb14766fb122dabd1b50a817d105828d37f6db7170cc18a67caa0b8540421e5df628ecdf6245b57a36a1502fa20b051a6fedb6e2e198314cf954170a80843cbbec51d9bec48b6af46d42a05f44160a34dfdb6dc5c3306299f2a82e1501087977d8a3b37d81d7fb73a7eb68ea04f876e93f1cbe0b3124eaf3b550766a1210f2efc14766faf3aff6e74fd6d1d409f0edd27e397c166249d5e76aa0ecd42421e5df828ecdf5e02113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760844d65b44f2f4e42b8f891ef636ab1bd5f463a9507cfa1610f2efc54766faec1089acb689e5e9c8571f123dec6d5637abe8c752a0f9f42c21e5df8a8ecdf5d82113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760105fbe612591d0fa85beb9e759c8d9b80b88969207d145620f2efc55766faebf20bf7cc24b23a1f50b7d73ceb391b37017112d240fa28ac41e5df8aaecdf5d7e417ef984964743ea16fae79d672366e02e225a481f4515883cbbf155d9bebafc0f104bb602f10a8bfabbf732c4a4f5bb0887108d3e8bcf117977e2acb37d75f71e20976c05e21517f577ee658949eb76110e211a7d179e22f2efc55966faebee3c412ed80bc42a2feaefdccb1293d6ec221c4234fa2f3c45e5df8ab2cdf5d7dc0494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb709296cb9dbd5ae2f454bc31c370baba5e0f5c0cde8c03919977e2acd37d75f6e1252d973b7ab5c5e8a9786386e17574bc1eb819bd18072332efc559a6faebedc24a5b2e76f56b8bd152f0c70dc2eae9783d70337a300e4665df8ab34df5d7db8494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb701ea9244a93bd65ac218259bb6718e258bb9e68db8c05359a77e2acd47d75f6df3d524895277acb584304b376ce31c4b1773cd1b7180a6b34efc559a8faebedbe06b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b0d6dd3ae4ab032d0a59f1dcb258362bb3577fed6602cf4d5bf1566a5ebafb6f61adba75c956065a14b3e3b964b06c5766aeffdacc059e9ab7e2acd4bd75f6dec35b74eb92ac0cb42967c772c960d8aecd5dffb5980b3d356fc559a97aebedbd86b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b062ef93918165afc226b804aa4e9453ae03c2496302d0f15cf1566a5fbafb6f5f51f17fcfd92de23c1a36314c9386cf56b3c6eec305a386bae2acd4c075f6debd2ff5584c88be473001328a911d6bc6a813d039830b48b176c559a981ebedbd795feab099117c8e60026515223ad78d5027a07306169162ed8ab35303d7db7af24be7b9def95b9f77d190523c6c0d429afb8342092d2469dc1566a608afb6f5e323e1cc6ac919c1a76fe6cc70ce78ad30a348e00f5a4a77b92acd4c125f6debc547c398d59233834edfcd98e19cf15a614691c01eb494ef72559a9824bedbd78a1b998a57fac989558c6159bb3040dcbd3965dc3a692b82e5ab35304a7db7af13373314aff59312ab18c2b3766081b97a72cbb874d25705cb566a6094fb6f5e266e66295feb262556318566ecc10372f4e59770e9a4ae0b96acd4c129f6debc4c68deab6cacaecd642fd0f5d178650de477713dd0495dbb2e59a98254edbd78975dcfaf862fc01d802c68139ae72843c39b24d79d92bd1a5db35304aadb7af12d47b1b7b935e2bdb825964f2dc4aeaf81e28c0b38257bd8bc66a60956b6f5e2591b75c81f4227fe2817f2c6537fbb86fe715a726d4af95579cd4c12ae6debc4b136eb903e844ffc502fe58ca6ff770dfce2b4e4da95f2aaf39a98255cdbd789626dd7207d089ff8a05fcb194dfeee1bf9c569c9b52be555e735304ab9b7af12c467c099a6e7a273f88c5c5a93f43a5fee3715ef6757cc4fcf6a6095746f5e25875b938bfaa5a76aa8e57edd1fded2e7d71a6e3acbaf9a439fd4c12ae9debc4b0d433970a221b1580997c3e237b403f7a8e11ed1945f362b40a98255d4bd789619128539f119c532cafc4dec675e66174c6e7fff25be6dfa825304abaa7af12c31250a73e2338a6595f89bd8cebccc2e98dcfffe4b7cdbf504a6095754f5e258624a14e7c46714cb2bf137b19d79985d31b9fffc96f9b7ea094c12aea9ebc4b0c4203c2835a48c190faf358b32e98ee25e2042552af371781398255d54d78961874078506b4918321f5e6b1665d31dc4bc4084aa55e6e2f027304abaa9af12c30e0d02f9836892e6f6899c54c39c99b1732d4bb0a8cdc7844f609575545e25861b1a05f306d125cded1338a987393362e65a9761519b8f089ec12aeaa8bc4b0c36340be60da24b9bda2671530e7266c5ccb52ec2a3371e113d8255d5517896186c6817cc1b449737b44ce2a61ce4cd8b996a5d85466e3c227b04abaaa2f12c30d85c41f0e35f90f220668b7431bff93f2d80fd6689dc79e8f709575546e25861af44963a73958466f899dd105b7650a655ae3d2910b8f575ef12aeaa8ec4b0c35d153ecd94016b50a9008048aee2ff74a608bcae1e71ec8fdf255d551e896186b92a7d9b2802d6a1520100915dc5fee94c11795c3ce3d91fbe4abaaa3d12c30d7254fb365005ad42a4020122bb8bfdd29822f2b879c7b23f7c9575547a25861ae43608c54ce1bd07ffd0c86d6f0e59cd2af227ccf08f6622fa2aeaa8f54b0c35c76c118a99c37a0fffa190dade1cb39a55e44f99e11ecc45f455d551ea96186b8e64356de05d56a2b70fe7ddb42fc55ca674e18fbf3d9a2fe9abaaa3d62c30d71b547d346d910fc825ec95e36055e8e14796057b7b7b3603d4575547ad5861ae35350cc187f8821303a5f1eeb8a22fea89d84d52f3f66daba9aeaa8f5bb0c35c696a19830ff10426074be3dd71445fd513b09aa5e7ecdb57535d551eb76186b8d260455eccb86acec6648de2da7f1dd2220d77a7ccd9b852a7baaa3d6fc30d71a34c9d16464738204495e1edacf499cc3ec731ab96b372495075547ae0861ae345254c853964d2c340f88a0351df91c0783aa5b32a66e636a1eaa8f5c20c35c6894a990a72c9a58681f11406a3bf2380f0754b6654cdcc6d43d551eb84186b8d1221446d9269ad8fbbaeee353f74a529db96d928a69b9a7e88aaa3d70930d71a234288db24d35b1f775ddc6a7ee94a53b72db2514d3734fd115547ae1261ae344611240ef67d18c1a6887efcf5c8f2cf6907a6fe976e6b9e23aa8f5c25c35c688b22481decfa31834d10fdf9eb91e59ed20f4dfd2edcd73c47551eb84b86b8d11644903bd9f463069a21fbf3d723cb3da41e9bfa5db9ae788eaa3d70970d71a22c1532d060bf288fec10be0fa63df4a342e97a50b8735e951e547ae12f1ae344572a65a0c17e511fd8217c1f4c7be94685d2f4a170e6bd2a3ca8f5c25e35c688ae54cb4182fca23fb042f83e98f7d28d0ba5e942e1cd7a547951eb84bc6b8d115c35a8dbb2cfa7021852b6a529e6034211f814e1c09af64cf3a3d70979d71a22b76b51b7659f4e0430a56d4a53cc068423f029c38135ec99e747ae12f3ae34456e62b5c77814fe8b1917a0bc9f8e6b30428c95e2ff6bdad7cf8f5c25e85c688adb517de79d005f98e9fc07a1371334887fc56e21fbd7b753a01eb84bd1b8d115b52f0e27e6d721b48bc4d56a661cc738fa371e9ff4af704b413d7097a471a22b695e1c4fcdae43691789aad4cc398e71f46e3d3fe95ee096827ae12f48e34456d2484af84832e954e6e01bd190697b0be388bcdbcfbdc2d105f5c25e92c688ada31ca8493d3c352c858cfdcb18c9543fc1bdbc139c7b87460ceb84bd268d115b453950927a786a590b19fb963192a87f837b782738f70e8c19d7097a4d1a22b68a72a124f4f0d4b21633f72c632550ff06f6f04e71ee1d1833ae12f49a34456d147154a296b80be6e434b480be410026089a22f8e0dc3bd4685c25e935688ada276ebb9dda467a5080362f2974785e740be0884dbeb8794cd1b84bd26bd115b44d69899461635723b839247ae0e71b10126d52f77a70f43da47097a4d8a22b68995f25816f9d10ca283f0f1db9c494481f86e84af1e1ea1f49e12f49b24456d1314a5d5b8c108417084ae4636b7f86b839ba12f1e0c3d5e294c25e936588ada26120cd0fc4f76ab0c8628eeecef56b986e20683fbe87ad692a84bd26cc115b44c1419a1f89eed56190c51ddd9dead730dc40d07f7d0f5ad255097a4d9822b689820f4697c0b40d45d95701e333cc0c89b32de35af71eb748ab12f49b31456d13031e8d2f81681a8bb2ae03c667981913665bc6b5ee3d6e915625e936628ada26063d1a5f02d03517655c078ccf303226ccb78d6bdc7add22ac4bd26cc515b44c0c064716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b6898170c8e2d64ed99630509aa832cad84eb2836ba676beb77d2b32f49b31656d1302e191c5ac9db32c60a135506595b09d6506d74ced7d6efa5665e93662cada2605c3238b593b6658c1426aa0cb2b613aca0dae99dafaddf4accbd26cc595b44c0b864716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b689817054f52efbaff8b308676e5ac2ceacda7e17e8d2bbb77ecf33f49b31666d1302df35fcb6a43653e8c89ba2dd7d93b7dcf6dc1401746eff4268e93662cdda2605bd6bf96d486ca7d1913745bafb276fb9edb82802e8ddfe84d1d26cc59bb44c0b7a6405333dafb225da3b519dee453d9bd61c9261cebbfeada4a4d98b38689816f3541cbf2835c6ce6c436963d480d95fa6e5671f9a77feff4a49b31671d1302de5344bd6fd41f01f905398efa0f810e74877109b31efffa29593662ce4a2605bc96897adfa83e03f20a731df41f021ce90ee213663dfff452b26cc59c944c0b7925d41b4a1de2300f91b29e67bd6a1c51c8884c8c4c0002e574d98b39389816f234695c1f092a884aa0319f4efa3a1b233bd4bed86800200af9b3167281302de45193ddc8dfbb38c0bd2fa11d73da18c6226da370a0005a5603662ce512605bc89327bb91bf7671817a5f423ae7b4318c44db46e14000b4ac06cc59ca24c0b791264f77237eece302f4be8475cf68631889b68dc2800169580d98b39449816f22456013d1cb3fee3166496b6b1e36a8b0be314144d002ecf02b316728a302de4473814d2e63e6048e495f3955bbd333e12726a8497005f4206662ce515605bc88d7029a5cc7cc091c92be72ab77a667c24e4d5092e00be840ccc59ca2ac0b7911a6c65a445cfe3a64a24947d66eb2b204475ec6e59017eac1a98b39456816f223364dda1387629cf4c15ef22c5ccb46883981b38af02fefc36316728ae02de446555cd9b1dc2b6214ff8a46d838fc6f901dc78cd5b05ff9c6d62ce515d05bc88c937ad8ee85bcec557be0f02ff15ec19fe6533f6b30c00dcdbc59ca2bb0b7911916f5b1dd0b79d8aaf7c1e05fe2bd833fcca67ed661801b9b78b39457616f223226ac8944e459d9816c50233f44e0e8ff4411236c93005177016728aed2de4464361a38149619db2e556ca8fe0927b47e32e66c98f600bd2e12ce515db5bc88c854f595b3f999de8827a5b47b91b54b7c1090fef1bc01949c359ca2bb7b79119092ac50f2c099e53bcc17cb76a2d07977cbe623a3480343787b39457706f223211558a1e58133ca77982f96ed45a0f2ef97cc4746900686f0f6728aee0de4464223726955cfcdbd1aad2b905a0aa7c85eda5cb44cf00d2821fce515dc2bc88c8436e4d2ab9f9b7a355a5720b4154f90bdb4b96899e01a5043f9ca2bb857911908668acae20c9d1c96317aa3e7aa0503fb1436f6f39034bac803945770bf223210b5d6bb4ee6a06157dfc1aa4ed36fea75d33213a6f0698fd01728aee18e446421546e9c289aa6eadb3c4fb71d2645b76b51284d0db0d339e03e515dc32c88c842919e5ddc02b3fde1f56bd0b9cbf151564d14bfdb31a68e008ca2bb8669119085133cbbb80567fbc3ead7a17397e2a2ac9a297fb6634d1c011945770cd223210a267977700acff787d5af42e72fc545593452ff6cc69a3802328aee19a446421445b4146ae306173b282ae84ddef06d32136a24995d348a447515dc33588c842874294e60937256a1cd22331b3d46bce3d1986ef28a692ec8fa2bb866c1190850d113c24bf44ad56f1710c8b5f9f35c474df503a4e4d277d2045770cd923210a192278497e895aade2e21916bf3e6b88e9bea0749c9a4efa408aee19b24642143244f092fd12b55bc5c4322d7e7cd711d37d40e939349df48115dc33648c84286415f37ea6fbcd3a43552a82f4f00c4ba1a6c42e6f693d8d032bb866ca190850c72be6fd4df79a7486aa5505e9e01897434d885cded27b1a065770cd943210a18e57cdfa9bef34e90d54aa0bd3c0312e869b10b9bda4f6340caee19b286421431c3bae4de4b4cc54d2761a3f9f76c08507e263cf7849ee0c1a5dc33651c8428637036ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da0dbbd1d8ffecb172e3ea9cdb8f7cc829c427ebb64f76f0d6ee19b292421431b41b77a3b1ffd962e5c7d539b71ef99053884fd76c9eede1addc3365248428636836ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da067cf763cd52d99e60b6ff5b0ee2aaa96eec11761f770b16fe19b292521431b3f5bb1452680bdb683e3a61359d2b37d2889c48ac0eee306e0c336524b4286367d4374e2f9d7ddefbf94124eab9bc5224bbfcb717eddc7b1c2866ca497850c6cf912fc1ea0861e6236f4eac54f2de86c922bd93efabb9107860cd949300a18d9f125f83d410c3cc46de9d58a9e5bd0d92457b27df577220f0c19b292601431b3e24bf07a82187988dbd3ab153cb7a1b248af64fbeaee441e18336524c0286367c423f34db10755946f741c527165a18c8c0b0c53d2dc89e03166ca498150c6cf8747e69b620eab28dee838a4e2cb4319181618a7a5b913c062cd949302a18d9f0e1bdf8f70f3b8d4759d3771bd8ce45a2ad873ab48722924c69b292606431b3e1b37bf1ee1e771a8eb3a6ee37b19c8b455b0e75690e452498d36524c0c86367c366f7e3dc3cee351d674ddc6f6339168ab61cead21c8a4931a6ca498190c6cf86c6b0ed43474292664b681b5e45d80f9516fdfb640914aca35d949303318d9f0d762300115beb4cf8139c993c0b1601a9d8c01c87e2297386cb292606731b3e1ad50725ad853cc21ba40594f79591e5d35c445ecf9453014da6524c0cf6367c3592cf70e5d7dfac62c4d78c6eaa89ae26634ce35ef8a61cdb5ca49819fc6cf86b159ee1cbafbf58c589af18dd55135c4cc699c6bdf14c39b6b9493033f8d9f0d623fee9222ce4d9b6902a943a298c9b1937f7b33bb2988dad8292606801b3e1ac30bef7cf272fdb989d218af3d27f18b21ab38c373531359b1524c0d01367c358517def9e4e5fb7313a4315e7a4fe31643567186e6a626b362a4981a026cf86b0a2fbdf3c9cbf6e6274862bcf49fc62c86ace30dcd4c4d66c549303404d9f0d6145f7be79397edcc4e90c579e93f8c590d59c61b9a989acd8a92606809b3e1ac284b0a27d4063e1b54ee511bca7576da155fce933231373f1624c0d01467c3584f2226a854e2deb961a9685f8ce14bdc256bdf82616270222d4981a029cf86b09d444d50a9c5bd72c352d0bf19c297b84ad7bf04c2c4e0445a930340539f0d613a14acfa0061dd683e7267a62b7b8d98905bc0658289c22cb6260680a83e1ac273"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x0096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0x01a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0x02a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_getPayloadV6.mdx b/docs-api/api/methods/engine_getPayloadV6.mdx
new file mode 100644
index 000000000..1cfcc2eb2
--- /dev/null
+++ b/docs-api/api/methods/engine_getPayloadV6.mdx
@@ -0,0 +1,444 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_getPayloadV6"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_getPayloadV6
+
+
+
+ Obtains execution payload from payload build process
+
+
+ ## Parameters (by position)
+
+ **Payload id** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Response object** `object`
+
+ ***
+
+
+
+
+ Show `Response object` object
+
+
+ #### `Response object` fields
+
+ * **executionPayload** `object` *required*
+
+ Execution payload object V4
+
+ ***
+
+
+
+
+ Show `executionPayload` object
+
+
+ #### `executionPayload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string` *required*
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string` *required*
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **blockAccessList** `string` *required*
+
+ Block access list
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blockValue** `string` *required*
+
+ hex encoded 256 bit unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blobsBundle** `object` *required*
+
+ Blobs bundle object V2
+
+ ***
+
+
+
+
+ Show `blobsBundle` object
+
+
+ #### `blobsBundle` fields
+
+ * **commitments** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **proofs** `array` *required*
+
+ 48 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{96}$`
+
+ ***
+
+ * **blobs** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **shouldOverrideBuilder** `boolean` *required*
+
+ ***
+
+ * **executionRequests** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -38001
+
+
+ * **code**
+
+ -38001
+ * **message**
+
+ Unknown payload
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_getPayloadV6 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x0000000038fa5dd"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x673b0a3b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0",
+ "blockAccessList": "0xc0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x94f2118951a591531b0bb7b4ed5bd96ae41069e709afb8d3e64d27f2e2114e9b23c678ca876a50e2f77f53bb0ca518ef"
+ ],
+ "blobs": [
+ "0x00100008000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000800000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000020000000000100000000000000000000000000000000000000000000000000001000800002000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000000000001000480000000000000000000000000000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000100000100100000000800000000000000000000000000000000400000000000000000000000001000000000000000020000000000040000000000000000000000000000001000000000000000000000000040004000000000100000000000000000000000000000000000000020000010000000000020000000000000000000000020000080010000000000200001000000000000000000000000000000000000000000000000010000000000000000100000200400000000000000000000000000000000000000000000000000000000000010000000020000000000000000200000000000000800000000000000000000100000000040000000000000000000000000000000000000000000000000000200040000000001000400000000000080000000000000000000000000001000000001000002000000000400000000000000000000000000000020000008000000000020000000000000000000000000000000000000000000000000000000080000100000000400100000000008000000000000000000001000100000080000020000000000000008000080004000000000010000000000000000000000010000000800000000000000002000000000001000000000000000000000080000000000000800100800000000020002000000000080008000000010000000000040000002000000000000000000000000000000000400000000000008000000000000800000000000000000000000040000000000000000000000000000040000002000000000010000000000000000000200001000000000000000000000000080000000000000000400000001000000000000000000200000000010000000000000004000000000000020000200004100000010000000000000000000000000000100020000000000000000080000001000000080010000000010001000008000000000000001000000000000000000000000000000000000000000004000000000002000000000008000100000400000400000000000000000000010000000000010800000000000040000000002000000000000800100400000000000000400000001001000200000000000000000000000000000000000020000004000000008000000080000001000000000000020000000000000000000000000001000200400000004000002100000000040000800010000020000000000000000000200000002000000080000000000100000000800000000000002000000100000000020000008000000000020000000000000000100080000200002000000010000000000000008000000000000400000000000000000000200000000000000000002000004000000000000004040000000000000000000000100000000000020000000000000040000000010200008004000400000010000000000000002080000000000004400001000040002000000200000000000000000008000000000010200000000000000000000000000000000100100020000000040000000000000000002000800020000000020000000020001200100000000000000000000000000000000000002000010400000000000010010000000000000000004040001000001000000000000000000000000400000000000004000000000100000000100001000000000000000000040000000000800000000000020000000000002040000000000000000002010000020040040800000000001000000100020000040000000000000000000000800000800100000000200000000000000000000000000000001000000000800020080000000000000000002000000000010000000020000000000000000000000000002000000000000000002000000000000000000000000000000001000008100000000000000000000000002000040100200000010000000000000000100000000000000000000000000010000020000000400000000000000000000000000000008000001000000000040000000002000000000080000000002800000000000020000000000000000000001000000000000000000400000000000002000000000100000000000000002000001004000020400000000000000000004000000040000800020020000000000000000000000002000000400008000000000008001400000010000000010000002000020000040001000000000000000000004000200000000000000002000000000000000000000000000000000020000000040000000000200001000040000000004000000100020000000000000010000002000000000000002100000000000000000000010002000200000002000000000004000001000000000200000000000000000000004000020001020000040010000002001080040002001080400010000800004000000000020000008100002200000000000010020001004000000000002000080000000020000400008000000000000000000020000000000000000000000000002000000000000000001000000040004000000000000008200002002100000000000000000800000000400000000020002002008000000000004000000000000001002000000000002000000000000000800200000000000000001000000080000000000000040020000000040001000000000020400001000001200200800000002001000000020000000000000008000002000020200010000000001000000020000000000000020000100020100040012000000000000001000020001000020000000400002000000080000000000000000000000000000010001000000800000040000000000001010000000000000000000400000200000010000000020001000000002000000400000000000000000000000000002000000080000100000000210000012000020000040400000000000000002008004000000040000000100000000000002000020004000000000000100008000000004010000004000000004000400000000000000100001000000000000040000000001200000000002000000002000000004000000000000100000020000001080001000000002080000000000002000000000000080000000000000000101000004001800000020000000000000000000400000000004000020000000000000020000000080000000000401000000000000000000000004000400000001000000000000008000000001020020000004000000000000001000000000000000002000000800000000000080020000000800000010000000020000100000004100000000010000100000000002000000000000100000000080800000000000001000100000000080000000000000000020000000008000001000000000000000000001000100000000000000000002000002080000000000200000000004000000200000004002000000000000020000000000000000000000000080000002000200004008000400010000000000020010000000000000000000000000000000000000802001010000800000080000000100000000000002008002004000000000"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000"
+ ]
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_newPayloadV1.mdx b/docs-api/api/methods/engine_newPayloadV1.mdx
new file mode 100644
index 000000000..7498a6389
--- /dev/null
+++ b/docs-api/api/methods/engine_newPayloadV1.mdx
@@ -0,0 +1,287 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_newPayloadV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_newPayloadV1
+
+
+
+ Runs execution payload validation
+
+
+ ## Parameters (by position)
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V1
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string`
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string`
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string`
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string`
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string`
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string`
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string`
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string`
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string`
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Payload status** `object`
+
+ Payload status object V1
+
+ ***
+
+
+
+
+ Show `Payload status` object
+
+
+ #### `Payload status` fields
+
+ * **status** `string` *required*
+
+ Payload validation status
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING` `ACCEPTED` `INVALID_BLOCK_HASH`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ engine\_newPayloadV1 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ ```
+
+
+
+
+ engine\_newPayloadV1 invalid example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "INVALID",
+ "latestValidHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "validationError": "New payload is invalid"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_newPayloadV2.mdx b/docs-api/api/methods/engine_newPayloadV2.mdx
new file mode 100644
index 000000000..41d33f0ab
--- /dev/null
+++ b/docs-api/api/methods/engine_newPayloadV2.mdx
@@ -0,0 +1,487 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_newPayloadV2"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_newPayloadV2
+
+
+
+ Runs execution payload validation
+
+
+ ## Parameters (by position)
+
+
+ **Execution payload** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Execution payload object V1` object
+
+
+ #### `Execution payload object V1` fields
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V1
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Execution payload object V2` object
+
+
+ #### `Execution payload object V2` fields
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V2
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string` *required*
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string` *required*
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string` *required*
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array` *required*
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ ## Result
+
+ **Payload status** `object`
+
+ Payload status object deprecating INVALID\_BLOCK\_HASH status
+
+ ***
+
+
+
+
+ Show `Payload status` object
+
+
+ #### `Payload status` fields
+
+ * **status** `string` *required*
+
+ Payload validation status
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING` `ACCEPTED`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Invalid params
+
+
+
+
+ ## Examples
+
+
+
+ engine\_newPayloadV2 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_newPayloadV3.mdx b/docs-api/api/methods/engine_newPayloadV3.mdx
new file mode 100644
index 000000000..4f8e5becd
--- /dev/null
+++ b/docs-api/api/methods/engine_newPayloadV3.mdx
@@ -0,0 +1,380 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_newPayloadV3"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_newPayloadV3
+
+
+
+ Runs execution payload validation
+
+
+ ## Parameters (by position)
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V3
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string`
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string`
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string`
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string`
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string`
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string`
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string`
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string`
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string`
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Expected blob versioned hashes** `array
` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ **Root of the parent beacon block** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Payload status** `object`
+
+ Payload status object deprecating INVALID\_BLOCK\_HASH status
+
+ ***
+
+
+
+
+ Show `Payload status` object
+
+
+ #### `Payload status` fields
+
+ * **status** `string` *required*
+
+ Payload validation status
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING` `ACCEPTED`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Invalid params
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_newPayloadV3 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0"
+ },
+ [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ],
+ "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_newPayloadV4.mdx b/docs-api/api/methods/engine_newPayloadV4.mdx
new file mode 100644
index 000000000..218f76a23
--- /dev/null
+++ b/docs-api/api/methods/engine_newPayloadV4.mdx
@@ -0,0 +1,393 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_newPayloadV4"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_newPayloadV4
+
+
+
+ Runs execution payload validation
+
+
+ ## Parameters (by position)
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V3
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string`
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string`
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string`
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string`
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string`
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string`
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string`
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string`
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string`
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Expected blob versioned hashes** `array
` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ **Root of the parent beacon block** `string` *required*
+
+ ***
+
+ **Execution requests** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Result
+
+ **Payload status** `object`
+
+ Payload status object deprecating INVALID\_BLOCK\_HASH status
+
+ ***
+
+
+
+
+ Show `Payload status` object
+
+
+ #### `Payload status` fields
+
+ * **status** `string` *required*
+
+ Payload validation status
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING` `ACCEPTED`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Invalid params
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_newPayloadV4 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0"
+ },
+ [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ],
+ "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52",
+ [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/engine_newPayloadV5.mdx b/docs-api/api/methods/engine_newPayloadV5.mdx
new file mode 100644
index 000000000..6c057cbfd
--- /dev/null
+++ b/docs-api/api/methods/engine_newPayloadV5.mdx
@@ -0,0 +1,401 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "engine_newPayloadV5"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # engine\_newPayloadV5
+
+
+
+ Runs execution payload validation
+
+
+ ## Parameters (by position)
+
+ **Execution payload** `object` *required*
+
+ Execution payload object V4
+
+ ***
+
+
+
+
+ Show `Execution payload` object
+
+
+ #### `Execution payload` fields
+
+ * **parentHash** `string`
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **feeRecipient** `string`
+
+ Recipient of transaction priority fees
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string`
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string`
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string`
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ Previous randao value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string`
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasUsed** `string`
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **timestamp** `string`
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **extraData** `string`
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **blockHash** `string`
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactions** `array`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ Withdrawal object V1
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ Withdrawal index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ Validator index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ Withdrawal address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ Withdrawal amount
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **blockAccessList** `string`
+
+ Block access list
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ **Expected blob versioned hashes** `array
` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ **Parent beacon block root** `string` *required*
+
+ ***
+
+ **Execution requests** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Result
+
+ **Payload status** `object`
+
+ Payload status object deprecating INVALID\_BLOCK\_HASH status
+
+ ***
+
+
+
+
+ Show `Payload status` object
+
+
+ #### `Payload status` fields
+
+ * **status** `string` *required*
+
+ Payload validation status
+
+ *Allowed values:* `VALID` `INVALID` `SYNCING` `ACCEPTED`
+
+ ***
+
+ * **latestValidHash** `string`
+
+ The hash of the most recent valid block
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **validationError** `string`
+
+ Validation error message
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Invalid params
+
+
+
+
+ Error code: -38005
+
+
+ * **code**
+
+ -38005
+ * **message**
+
+ Unsupported fork
+
+
+
+
+ ## Examples
+
+
+
+ engine\_newPayloadV5 example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x673b0a3b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x20000",
+ "excessBlobGas": "0x0",
+ "blockAccessList": "0xf90244f90241f8f79400000000000000000000000000000000000001f8e8f843a00000000000000000000000000000000000000000000000000000000000000000f838c22080a00000000000000000000000000000000000000000000000000000000000000000c22180a00000000000000000000000000000000000000000000000000000000000000001f843a00000000000000000000000000000000000000000000000000000000000000001f838c22080a00000000000000000000000000000000000000000000000000000000000000100c22180a00000000000000000000000000000000000000000000000000000000000000200c780c22180c680c221890056bc75e2d63100000c080c22180f90145f90142f8f794a94f5374fce5edbc8e2a8697c15331677e6ebf0bf8e8f843a00000000000000000000000000000000000000000000000000000000000000000f838c22080a00000000000000000000000000000000000000000000000000000000000000000c22180a00000000000000000000000000000000000000000000000000000000000000100f843a00000000000000000000000000000000000000000000000000000000000000001f838c22080a00000000000000000000000000000000000000000000000000000000000000200c22180a00000000000000000000000000000000000000000000000000000000000000300c780c22180c680c2218901152d02c7e14af680c080c22180"
+ },
+ [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ],
+ "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52",
+ [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000"
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_accounts.mdx b/docs-api/api/methods/eth_accounts.mdx
new file mode 100644
index 000000000..0dfeee6bf
--- /dev/null
+++ b/docs-api/api/methods/eth_accounts.mdx
@@ -0,0 +1,63 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_accounts"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_accounts
+
+
+
+ Returns a list of addresses owned by client.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Accounts** `array`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_accounts example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ "0xd1f5279be4b4dd94133a23dee1b23f5bfc0db1d0"
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_blobBaseFee.mdx b/docs-api/api/methods/eth_blobBaseFee.mdx
new file mode 100644
index 000000000..7c97992f3
--- /dev/null
+++ b/docs-api/api/methods/eth_blobBaseFee.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_blobBaseFee"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_blobBaseFee
+
+
+
+ Returns the base fee per blob gas in wei.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Blob gas base fee** `string`
+
+ Blob gas base fee
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_blobBaseFee example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x3f5694c1f"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_blockNumber.mdx b/docs-api/api/methods/eth_blockNumber.mdx
new file mode 100644
index 000000000..94cad93db
--- /dev/null
+++ b/docs-api/api/methods/eth_blockNumber.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_blockNumber"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_blockNumber
+
+
+
+ Returns the number of most recent block.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Block number** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_blockNumber example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x2377"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_call.mdx b/docs-api/api/methods/eth_call.mdx
new file mode 100644
index 000000000..8abcee1a3
--- /dev/null
+++ b/docs-api/api/methods/eth_call.mdx
@@ -0,0 +1,409 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_call"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_call
+
+
+
+ Executes a new message call immediately without creating a transaction on the block chain.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `object` *required*
+
+ Transaction object generic to all types
+
+ ***
+
+
+
+
+ Show `Transaction` object
+
+
+ #### `Transaction` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **from** `string`
+
+ from address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string`
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string`
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array`
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobs** `array`
+
+ Raw blob data.
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array`
+
+ EIP-7702 authorization list
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ EIP-7702 authorization list
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+ **Block** `string or string or string`
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string`
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string`
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Return data** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 3
+
+
+ * **code**
+
+ 3
+ * **message**
+
+ execution reverted
+ * **data**
+
+ \{"title":"raw EVM revert data","$ref":"#/components/schemas/bytes"}
+
+
+
+
+ ## Examples
+
+
+
+ eth\_call example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "to": "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13",
+ "value": "0x1"
+ },
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_chainId.mdx b/docs-api/api/methods/eth_chainId.mdx
new file mode 100644
index 000000000..b159431e5
--- /dev/null
+++ b/docs-api/api/methods/eth_chainId.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_chainId"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_chainId
+
+
+
+ Returns the chain ID of the current network.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Chain ID** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_chainId example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x1"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_coinbase.mdx b/docs-api/api/methods/eth_coinbase.mdx
new file mode 100644
index 000000000..4c096fc04
--- /dev/null
+++ b/docs-api/api/methods/eth_coinbase.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_coinbase"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_coinbase
+
+
+
+ Returns the client coinbase address.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Coinbase address** `string`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_coinbase example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_createAccessList.mdx b/docs-api/api/methods/eth_createAccessList.mdx
new file mode 100644
index 000000000..6a37872cd
--- /dev/null
+++ b/docs-api/api/methods/eth_createAccessList.mdx
@@ -0,0 +1,445 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_createAccessList"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_createAccessList
+
+
+
+ Generates an access list for a transaction.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `object` *required*
+
+ Transaction object generic to all types
+
+ ***
+
+
+
+
+ Show `Transaction` object
+
+
+ #### `Transaction` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **from** `string`
+
+ from address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string`
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string`
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array`
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobs** `array`
+
+ Raw blob data.
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array`
+
+ EIP-7702 authorization list
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ EIP-7702 authorization list
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+ **Block** `string or string`
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string`
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Gas used** `object`
+
+ Access list result
+
+ ***
+
+
+
+
+ Show `Gas used` object
+
+
+ #### `Gas used` fields
+
+ * **accessList** `array`
+
+ Access list entry
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **error** `string`
+
+ error
+
+ ***
+
+ * **gasUsed** `string`
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_createAccessList example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "from": "0xaea8f8f781326bfe6a7683c2bd48dd6aa4d3ba63",
+ "data": "0x608060806080608155"
+ },
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "accessList": [
+ {
+ "address": "0xa02457e5dfd32bda5fc7e1f1b008aa5979568150",
+ "storageKeys": [
+ "0x0000000000000000000000000000000000000000000000000000000000000081"
+ ]
+ }
+ ],
+ "gasUsed": "0x125f8"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_estimateGas.mdx b/docs-api/api/methods/eth_estimateGas.mdx
new file mode 100644
index 000000000..25a975ce1
--- /dev/null
+++ b/docs-api/api/methods/eth_estimateGas.mdx
@@ -0,0 +1,393 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_estimateGas"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_estimateGas
+
+
+
+ Generates and returns an estimate of how much gas is necessary to allow the transaction to complete.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `object` *required*
+
+ Transaction object generic to all types
+
+ ***
+
+
+
+
+ Show `Transaction` object
+
+
+ #### `Transaction` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **from** `string`
+
+ from address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string`
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string`
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array`
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobs** `array`
+
+ Raw blob data.
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array`
+
+ EIP-7702 authorization list
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ EIP-7702 authorization list
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+ **Block** `string or string`
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string`
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Gas used** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Errors
+
+
+
+ Error code: 3
+
+
+ * **code**
+
+ 3
+ * **message**
+
+ execution reverted
+ * **data**
+
+ \{"title":"raw EVM revert data","$ref":"#/components/schemas/bytes"}
+
+
+
+
+ ## Examples
+
+
+
+ eth\_estimateGas example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "to": "0x44aa93095d6749a706051658b970b941c72c1d53",
+ "value": "0x1"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x5208"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_feeHistory.mdx b/docs-api/api/methods/eth_feeHistory.mdx
new file mode 100644
index 000000000..407fe3b08
--- /dev/null
+++ b/docs-api/api/methods/eth_feeHistory.mdx
@@ -0,0 +1,238 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_feeHistory"
+hide_table_of_contents: true
+description: "Returns transaction base fee per gas and effective priority fee per gas for the requested/supported block range."
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_feeHistory
+
+ Returns transaction base fee per gas and effective priority fee per gas for the requested/supported block range.
+
+ Transaction fee history
+
+
+ ## Parameters (by position)
+
+ **blockCount** `string` *required*
+
+ Requested range of blocks. Clients will return less than the requested range if not all blocks are available.
+
+ ***
+
+
+ **newestBlock** `string or string` *required*
+
+ Highest block of the requested range.
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ Highest block of the requested range.
+
+ **newestBlock** `string` *required*
+
+ Highest block of the requested range.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **newestBlock** `string` *required*
+
+ Highest block of the requested range.
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+ **rewardPercentiles** `array
` *required*
+
+ A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the corresponding effective tip for the percentile will be determined, accounting for gas consumed.
+
+ ***
+
+
+
+ ## Result
+
+ **Fee history result** `object`
+
+ Fee history for the returned block range. This can be a subsection of the requested range if not all blocks are available.
+
+ ***
+
+
+
+
+ Show `Fee history result` object
+
+
+ #### `Fee history result` fields
+
+ Fee history for the returned block range. This can be a subsection of the requested range if not all blocks are available.
+
+ * **oldestBlock** `string` *required*
+
+ Lowest number block of returned range.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **baseFeePerGas** `array` *required*
+
+ An array of block base fees per gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-1559 blocks.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **baseFeePerBlobGas** `array`
+
+ An array of block base fees per blob gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-4844 blocks.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsedRatio** `array` *required*
+
+ An array of block gas used ratios. These are calculated as the ratio of gasUsed and gasLimit.
+
+ Range: `>= 0 and <= 1`
+
+ ***
+
+ * **blobGasUsedRatio** `array`
+
+ An array of block blob gas used ratios. These are calculated as the ratio of blobGasUsed and the max blob gas per block.
+
+ Range: `>= 0 and <= 1`
+
+ ***
+
+ * **reward** `array`
+
+ A two-dimensional array of effective priority fees per gas at the requested block percentiles.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_feeHistory example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x5",
+ "latest",
+ [
+ 20,
+ 30
+ ]
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "oldestblock": "0x10b52f",
+ "baseFeePerGas": [
+ "0x3fa63a3f",
+ "0x37f999ee",
+ "0x3e36f20a",
+ "0x4099f79a",
+ "0x430d532d",
+ "0x46fcd4a4"
+ ],
+ "baseFeePerBlobGas": [
+ "0x7b7609c19",
+ "0x6dbe41789",
+ "0x7223341d4",
+ "0x6574a002c",
+ "0x7223341d4",
+ "0x6574a002c"
+ ],
+ "gasUsedRatio": [
+ 0.017712333333333333,
+ 0.9458865666666667,
+ 0.6534561,
+ 0.6517375666666667,
+ 0.7347769666666667
+ ],
+ "blobGasUsedRatio": [
+ 0,
+ 0.6666666666666666,
+ 0,
+ 1,
+ 0
+ ],
+ "reward": [
+ [
+ "0x3b9aca00",
+ "0x59682f00"
+ ],
+ [
+ "0x3a13012",
+ "0x3a13012"
+ ],
+ [
+ "0x3a13012",
+ "0x3a13012"
+ ],
+ [
+ "0xf4240",
+ "0xf4240"
+ ],
+ [
+ "0xf4240",
+ "0xf4240"
+ ]
+ ]
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_gasPrice.mdx b/docs-api/api/methods/eth_gasPrice.mdx
new file mode 100644
index 000000000..ab449c57e
--- /dev/null
+++ b/docs-api/api/methods/eth_gasPrice.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_gasPrice"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_gasPrice
+
+
+
+ Returns the current price per gas in wei.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Gas price** `string`
+
+ Gas price
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_gasPrice example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x3e8"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBalance.mdx b/docs-api/api/methods/eth_getBalance.mdx
new file mode 100644
index 000000000..f8caacf58
--- /dev/null
+++ b/docs-api/api/methods/eth_getBalance.mdx
@@ -0,0 +1,122 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBalance"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBalance
+
+
+
+ Returns the balance of the account of given address.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Balance** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_getBalance example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x1cfe56f3795885980000"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBlockByHash.mdx b/docs-api/api/methods/eth_getBlockByHash.mdx
new file mode 100644
index 000000000..15c2a225f
--- /dev/null
+++ b/docs-api/api/methods/eth_getBlockByHash.mdx
@@ -0,0 +1,1425 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBlockByHash"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBlockByHash
+
+
+
+ Returns information about a block by hash.
+
+
+ ## Parameters (by position)
+
+ **Block hash** `string` *required*
+
+ ***
+
+ **Hydrated transactions** `boolean` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Block information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Block information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Block object` object
+
+
+ #### `Block object` fields
+
+ **Block information** `object`
+
+ Block object
+
+ ***
+
+
+
+
+ Show `Block information` object
+
+
+ #### `Block information` fields
+
+ * **hash** `string` *required*
+
+ Hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **sha3Uncles** `string` *required*
+
+ Ommers hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **miner** `string` *required*
+
+ Coinbase
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionsRoot** `string` *required*
+
+ Transactions root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **difficulty** `string`
+
+ Difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **number** `string` *required*
+
+ Number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **mixHash** `string` *required*
+
+ Mix hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ Nonce
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **withdrawalsRoot** `string`
+
+ Withdrawals root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **parentBeaconBlockRoot** `string`
+
+ Parent Beacon Block Root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **size** `string` *required*
+
+ Block size
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **transactions** `array
or array` *required*
+
+ ***
+
+
+
+ Show Option 1 `Transaction hashes` array
+
+
+ #### `Transaction hashes` fields
+
+ **transactions** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Full transactions` array
+
+
+ #### `Full transactions` fields
+
+
+ **transactions** `object or object or object or object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ * **withdrawals** `array`
+
+ Validator withdrawal
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ index of withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ index of validator that generated withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ recipient address for withdrawal value
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ value contained in withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **uncles** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **requestsHash** `string`
+
+ EIP-7685 requests hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getBlockByHash example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ false
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "number": "0x68b3",
+ "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d",
+ "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d",
+ "nonce": "0x378da40ff335b070",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000",
+ "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126",
+ "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233",
+ "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a",
+ "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d",
+ "difficulty": "0x66e619a",
+ "extraData": "0xd583010502846765746885676f312e37856c696e7578",
+ "size": "0x334",
+ "gasLimit": "0x47e7c4",
+ "gasUsed": "0x37993",
+ "timestamp": "0x5835c54d",
+ "uncles": [],
+ "transactions": [
+ "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc",
+ "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d"
+ ],
+ "baseFeePerGas": "0x7",
+ "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f",
+ "withdrawals": [
+ {
+ "index": "0x0",
+ "validatorIndex": "0x9d8c0",
+ "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
+ "amount": "0x11a33e3760"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0",
+ "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBlockByNumber.mdx b/docs-api/api/methods/eth_getBlockByNumber.mdx
new file mode 100644
index 000000000..c8486588b
--- /dev/null
+++ b/docs-api/api/methods/eth_getBlockByNumber.mdx
@@ -0,0 +1,1461 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBlockByNumber"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBlockByNumber
+
+
+
+ Returns information about a block by number.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+ **Hydrated transactions** `boolean` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Block information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Block information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Block object` object
+
+
+ #### `Block object` fields
+
+ **Block information** `object`
+
+ Block object
+
+ ***
+
+
+
+
+ Show `Block information` object
+
+
+ #### `Block information` fields
+
+ * **hash** `string` *required*
+
+ Hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **sha3Uncles** `string` *required*
+
+ Ommers hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **miner** `string` *required*
+
+ Coinbase
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionsRoot** `string` *required*
+
+ Transactions root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **difficulty** `string`
+
+ Difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **number** `string` *required*
+
+ Number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **mixHash** `string` *required*
+
+ Mix hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ Nonce
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **withdrawalsRoot** `string`
+
+ Withdrawals root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **parentBeaconBlockRoot** `string`
+
+ Parent Beacon Block Root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **size** `string` *required*
+
+ Block size
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **transactions** `array
or array` *required*
+
+ ***
+
+
+
+ Show Option 1 `Transaction hashes` array
+
+
+ #### `Transaction hashes` fields
+
+ **transactions** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Full transactions` array
+
+
+ #### `Full transactions` fields
+
+
+ **transactions** `object or object or object or object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ * **withdrawals** `array`
+
+ Validator withdrawal
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ index of withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ index of validator that generated withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ recipient address for withdrawal value
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ value contained in withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **uncles** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **requestsHash** `string`
+
+ EIP-7685 requests hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getBlockByNumber example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x68b3",
+ false
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "number": "0x68b3",
+ "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d",
+ "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d",
+ "nonce": "0x378da40ff335b070",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000",
+ "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126",
+ "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233",
+ "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a",
+ "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d",
+ "difficulty": "0x66e619a",
+ "extraData": "0xd583010502846765746885676f312e37856c696e7578",
+ "size": "0x334",
+ "gasLimit": "0x47e7c4",
+ "gasUsed": "0x37993",
+ "timestamp": "0x5835c54d",
+ "uncles": [],
+ "transactions": [
+ "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc",
+ "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d"
+ ],
+ "baseFeePerGas": "0x7",
+ "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f",
+ "withdrawals": [
+ {
+ "index": "0x0",
+ "validatorIndex": "0x9d8c0",
+ "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
+ "amount": "0x11a33e3760"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0",
+ "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBlockReceipts.mdx b/docs-api/api/methods/eth_getBlockReceipts.mdx
new file mode 100644
index 000000000..400c24199
--- /dev/null
+++ b/docs-api/api/methods/eth_getBlockReceipts.mdx
@@ -0,0 +1,522 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBlockReceipts"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBlockReceipts
+
+
+
+ Returns the receipts of a block by number or hash.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+
+ **Receipts information** `null or array
`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Receipts information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Receipts information` array
+
+
+ #### `Receipts information` fields
+
+ **Receipts information** `array`
+
+ Receipt information
+
+ ***
+
+
+
+
+ Show `Receipts information` object
+
+
+ #### `Receipts information` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionIndex** `string` *required*
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **from** `string` *required*
+
+ from
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ Address of the receiver or null in a contract creation transaction.
+
+ **to** `null`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ ***
+
+
+
+
+ Show Option 2 `Recipient Address` string
+
+
+ #### `Recipient Address` fields
+
+ Address of the receiver or null in a contract creation transaction.
+
+ **to** `string`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **cumulativeGasUsed** `string` *required*
+
+ The sum of gas used by this transaction and all preceding transactions in the same block.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ The amount of gas used for this specific transaction alone.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **contractAddress** `string or null`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ ***
+
+
+
+ Show Option 1 `hex encoded address` string
+
+
+ #### `hex encoded address` fields
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ **contractAddress** `string`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Null` null
+
+
+ #### `Null` fields
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ **contractAddress** `null`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ ***
+
+
+
+ * **logs** `array` *required*
+
+ log
+
+ ***
+
+
+
+
+ Show `logs` object
+
+
+ #### `logs` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **logsBloom** `string` *required*
+
+ logs bloom
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **root** `string`
+
+ The post-transaction state root. Only specified for transactions included before the Byzantium upgrade.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **status** `string`
+
+ Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **effectiveGasPrice** `string` *required*
+
+ The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas).
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blobGasPrice** `string`
+
+ The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getBlockReceipts example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "blockNumber": "0x6f55",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x18c36",
+ "from": "0x22896bfc68814bfd855b1a167255ee497006e730",
+ "gasUsed": "0x18c36",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x9502f907",
+ "blobGasPrice": "0x32",
+ "logs": [
+ {
+ "address": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350",
+ "topics": [
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
+ "0x4be29e0e4eb91f98f709d98803cba271592782e293b84a625e025cbb40197ba8",
+ "0x000000000000000000000000835281a2563db4ebf1b626172e085dc406bfc7d2",
+ "0x00000000000000000000000022896bfc68814bfd855b1a167255ee497006e730"
+ ],
+ "data": "0x",
+ "blockNumber": "0x6f55",
+ "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975",
+ "transactionIndex": "0x0",
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "logIndex": "0x0",
+ "removed": false
+ }
+ ],
+ "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000080020000000000000200010000000000000000000001000000800000000000000000000000000000000000000000000000000000100100000000000000000000008000000000000000000000000000000002000000000000000000000",
+ "status": "0x1",
+ "to": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350",
+ "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975",
+ "transactionIndex": "0x0",
+ "type": "0x0"
+ },
+ {
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "blockNumber": "0x6f55",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x1de3e",
+ "from": "0x712e3a792c974b3e3dbe41229ad4290791c75a82",
+ "gasUsed": "0x5208",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x9502f907",
+ "blobGasPrice": "0x32",
+ "logs": [],
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "status": "0x1",
+ "to": "0xd42e2b1c14d02f1df5369a9827cb8e6f3f75f338",
+ "transactionHash": "0xefb83b4e3f1c317e8da0f8e2fbb2fe964f34ee184466032aeecac79f20eacaf6",
+ "transactionIndex": "0x1",
+ "type": "0x2"
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBlockTransactionCountByHash.mdx b/docs-api/api/methods/eth_getBlockTransactionCountByHash.mdx
new file mode 100644
index 000000000..102961e8c
--- /dev/null
+++ b/docs-api/api/methods/eth_getBlockTransactionCountByHash.mdx
@@ -0,0 +1,110 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBlockTransactionCountByHash"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBlockTransactionCountByHash
+
+
+
+ Returns the number of transactions in a block from a block matching the given block hash.
+
+
+ ## Parameters (by position)
+
+ **Block hash** `string`
+
+ ***
+
+
+
+ ## Result
+
+
+ **Transaction count** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Transaction count** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Transaction count` string
+
+
+ #### `Transaction count` fields
+
+ **Transaction count** `string`
+
+ Transaction count
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getBlockTransactionCountByHash example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x8"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getBlockTransactionCountByNumber.mdx b/docs-api/api/methods/eth_getBlockTransactionCountByNumber.mdx
new file mode 100644
index 000000000..52a2cf3f5
--- /dev/null
+++ b/docs-api/api/methods/eth_getBlockTransactionCountByNumber.mdx
@@ -0,0 +1,146 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getBlockTransactionCountByNumber"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getBlockTransactionCountByNumber
+
+
+
+ Returns the number of transactions in a block matching the given block number.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string`
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string`
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+
+ **Transaction count** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Transaction count** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Transaction count` string
+
+
+ #### `Transaction count` fields
+
+ **Transaction count** `string`
+
+ Transaction count
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getBlockTransactionCountByNumber example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xe8"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x8"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getCode.mdx b/docs-api/api/methods/eth_getCode.mdx
new file mode 100644
index 000000000..1072df8e3
--- /dev/null
+++ b/docs-api/api/methods/eth_getCode.mdx
@@ -0,0 +1,122 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getCode"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getCode
+
+
+
+ Returns code at a given address.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Bytecode** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_getCode example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xa50a51c09a5c451c52bb714527e1974b686d8e77",
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getFilterChanges.mdx b/docs-api/api/methods/eth_getFilterChanges.mdx
new file mode 100644
index 000000000..968a0daab
--- /dev/null
+++ b/docs-api/api/methods/eth_getFilterChanges.mdx
@@ -0,0 +1,214 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getFilterChanges"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getFilterChanges
+
+
+
+ Polling method for the filter with the given ID (created using `eth_newFilter`). Returns an array of logs, block hashes, or transaction hashes since last poll, depending on the installed filter.
+
+
+ ## Parameters (by position)
+
+ **Filter identifier** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Log objects** `array
or array`
+
+ ***
+
+
+
+ Show Option 1 `new block or transaction hashes` array
+
+
+ #### `new block or transaction hashes` fields
+
+ **Log objects** `array`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `new logs` array
+
+
+ #### `new logs` fields
+
+ **Log objects** `array`
+
+ log
+
+ ***
+
+
+
+
+ Show `Log objects` object
+
+
+ #### `Log objects` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getFilterChanges example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x01"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "blockTimestamp": "0x11",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "blockTimestamp": "0x22",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getFilterLogs.mdx b/docs-api/api/methods/eth_getFilterLogs.mdx
new file mode 100644
index 000000000..1511d9493
--- /dev/null
+++ b/docs-api/api/methods/eth_getFilterLogs.mdx
@@ -0,0 +1,214 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getFilterLogs"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getFilterLogs
+
+
+
+ Returns an array of all logs matching the filter with the given ID (created using `eth_newFilter`).
+
+
+ ## Parameters (by position)
+
+ **Filter identifier** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Log objects** `array
or array`
+
+ ***
+
+
+
+ Show Option 1 `new block or transaction hashes` array
+
+
+ #### `new block or transaction hashes` fields
+
+ **Log objects** `array`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `new logs` array
+
+
+ #### `new logs` fields
+
+ **Log objects** `array`
+
+ log
+
+ ***
+
+
+
+
+ Show `Log objects` object
+
+
+ #### `Log objects` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getFilterLogs example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x01"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockTimestamp": "0x11",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockTimestamp": "0x22",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getLogs.mdx b/docs-api/api/methods/eth_getLogs.mdx
new file mode 100644
index 000000000..e2ff4fbcd
--- /dev/null
+++ b/docs-api/api/methods/eth_getLogs.mdx
@@ -0,0 +1,554 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getLogs"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getLogs
+
+
+
+ Returns an array of all logs matching the specified filter.
+
+
+ ## Parameters (by position)
+
+
+ **Filter** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Filter by block range` object
+
+
+ #### `Filter by block range` fields
+
+ **Filter** `object` *required*
+
+ Filter by block range
+
+ ***
+
+
+
+
+ Show `Filter` object
+
+
+ #### `Filter` fields
+
+ * **fromBlock** `string`
+
+ from block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **toBlock** `string`
+
+ to block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **address** `null or string or array`
+
+ ***
+
+
+
+ Show Option 1 `Any Address` null
+
+
+ #### `Any Address` fields
+
+ **address** `null`
+
+ Any Address
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **address** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 3 `Addresses` array
+
+
+ #### `Addresses` fields
+
+ **address** `array`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ *
+ **topics** `null or array
`
+
+ ***
+
+
+
+ Show Option 1 `Any Topic Match` null
+
+
+ #### `Any Topic Match` fields
+
+ **topics** `null`
+
+ Any Topic Match
+
+ ***
+
+
+
+
+ Show Option 2 `Specified Filter Topics` array
+
+
+ #### `Specified Filter Topics` fields
+
+
+ **topics** `string or array`
+
+ ***
+
+
+
+ Show Option 1 `Single Topic Match` string
+
+
+ #### `Single Topic Match` fields
+
+ **topics** `array`
+
+ Single Topic Match
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Multiple Topic Match` array
+
+
+ #### `Multiple Topic Match` fields
+
+ **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Filter by block hash` object
+
+
+ #### `Filter by block hash` fields
+
+ **Filter** `object` *required*
+
+ Filter by block hash
+
+ ***
+
+
+
+
+ Show `Filter` object
+
+
+ #### `Filter` fields
+
+ * **blockHash** `string` *required*
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ *
+ **address** `null or string or array`
+
+ ***
+
+
+
+ Show Option 1 `Any Address` null
+
+
+ #### `Any Address` fields
+
+ **address** `null`
+
+ Any Address
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **address** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 3 `Addresses` array
+
+
+ #### `Addresses` fields
+
+ **address** `array`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ *
+ **topics** `null or array
`
+
+ ***
+
+
+
+ Show Option 1 `Any Topic Match` null
+
+
+ #### `Any Topic Match` fields
+
+ **topics** `null`
+
+ Any Topic Match
+
+ ***
+
+
+
+
+ Show Option 2 `Specified Filter Topics` array
+
+
+ #### `Specified Filter Topics` fields
+
+
+ **topics** `string or array`
+
+ ***
+
+
+
+ Show Option 1 `Single Topic Match` string
+
+
+ #### `Single Topic Match` fields
+
+ **topics** `array`
+
+ Single Topic Match
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Multiple Topic Match` array
+
+
+ #### `Multiple Topic Match` fields
+
+ **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ ## Result
+
+
+ **Log objects** `array
or array`
+
+ ***
+
+
+
+ Show Option 1 `new block or transaction hashes` array
+
+
+ #### `new block or transaction hashes` fields
+
+ **Log objects** `array`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `new logs` array
+
+
+ #### `new logs` fields
+
+ **Log objects** `array`
+
+ log
+
+ ***
+
+
+
+
+ Show `Log objects` object
+
+
+ #### `Log objects` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getLogs example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "fromBlock": "0x137d3c2",
+ "toBlock": "0x137d3c3",
+ "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "topics": []
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockTimestamp": "0x11",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockTimestamp": "0x22",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getProof.mdx b/docs-api/api/methods/eth_getProof.mdx
new file mode 100644
index 000000000..77cfc4391
--- /dev/null
+++ b/docs-api/api/methods/eth_getProof.mdx
@@ -0,0 +1,260 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getProof"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getProof
+
+
+
+ Returns the merkle proof for a given account and optionally some storage keys.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+ **StorageKeys** `array
` *required*
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Account** `object`
+
+ Account proof
+
+ ***
+
+
+
+
+ Show `Account` object
+
+
+ #### `Account` fields
+
+ * **address** `string` *required*
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **accountProof** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **balance** `string` *required*
+
+ balance
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **codeHash** `string` *required*
+
+ codeHash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **storageHash** `string` *required*
+
+ storageHash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **storageProof** `array` *required*
+
+ Storage proof
+
+ ***
+
+
+
+
+ Show `storageProof` object
+
+
+ #### `storageProof` fields
+
+ * **key** `string` *required*
+
+ key
+
+ *Match pattern:* `^0x[0-9a-f]{0,64}$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **proof** `array` *required*
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getProof example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8",
+ [
+ "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
+ ],
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "address": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8",
+ "accountProof": [
+ "0xf90211a06a718c2c9da77c253b12d7b2569657901e37bb691718f5dda1b86157ab1dd5eda0e7f19ed5e21bccc8d3260236b24f80ad88b3634f5d005f37b838881f0e12f1bda0abb301291704e4d92686c0f5f8ebb1734185321559b8d717ffdca95c99591976a0d0c2026bfab65c3b95276bfa82af9dec860b485f8857f293c148d63a2182128fa0c98044ec9a1273a218bed58b478277dd39173ad7b8edb95c200423a6bc8fc25fa056e5a55d9ddccdbf49362857200bbb1f042d61187c9f5f9ddcff5d2f1fc984a2a02a5b7200af424114f99a4b5f0a21c19aac82209e431ed80bfde177adb1004bdfa0026e4374f0518ff44a80fa374838ecb86cc64ac93bb710fea6dff4198f947b27a03fea341d87984673ad523177ed52f278bf4d8f97e6531c8ece932aeede4802f4a0bfe2f4a7fcb78f7e9f080dea7b6977fb1d88c441696e4456dad92b9d34ff0f43a02a3eb5c0edb14626c9c629601027bd60178bb2b688a67cea4d179fc432436615a0747355b8e02f3b884b4ffe5cea1619e32515fea064cca98208591af8c744e894a0874253737bae37f020ad3bb7e3292c7c4a63cdc158af6b33aaa4deaef016dccba03d8192bc1fc6aa1548912e763a0b5013a94399cefad7b47cf388873b2b794068a09b67f9737c6028d796bfd1c5da57a6f45824dc891f848ea0e1f8019d1fb5fba8a0aa871f9de8da85960fcd8a22cdf21c27f11e3966c14a6737ffd414b98dda00b280",
+ "0xf90211a0d360be1e1da1a0c32bc4c105833bd531e59d110684007b7c50fb2709002973eca0cf6dd1e350a7031b4e2ab49c899fd8bd47551c8565d8fd8d1d7796c83820c3b1a0eb0a88c29bb33989a589156f7bf07d9efc74034dd9d3f5b73385c3b45c3249bea02783c25f97a6ddb8dc07adf4b176991836d39184b1f678adeda832fff15e3664a00a4e288060045e587774d8a64993a7add73068b16863145e1e8eeb4602e18e19a0340851f4046ad1298962d6e47d05c66329549c839c158748aaad7ae00b943aefa085b127bc2a3bd17604283de21b2b3c9aa8f1d4b7b85c94d8105a46fe32c77688a00f531d62b3c5435324c01009c284fe31277e8d38302b75ea01be89f09e205969a00011c8351c0e3d639ac54b9d3a59de630b16a67de8270d7d6064d0a67e93f9cca048780d32b7f2db88650b51c46f46fd0a68795edee1fd5ecee6eb3595741d9669a0c91afd74eaf8e08a997061a62b354e2516fdc494e8e26cc50ceeb8f4a175608ba0e2c07f1b48fab80eecb340f5882e8c7b32ee416e4045c61f1df646a133487303a01a1eff78435a7a29a29463bdc3486ae81364b00bea82ba0fdf67a110770f2261a04f2eb440ba71c72da5fd7f0e439018d6671dc809f747213a1ea755848124e994a074ff9f37fce99daa3ed01dd763076450022996fc729be2cc43c61ec5182c2366a0b80b36b7b621112592f52390b89748d422e9b1517c4b0203b8176a53f89d4a6680",
+ "0xf90211a0b25f283bd01a8c8b2418049f9585bc37ff2c1e2e12eab4b7f64ae1f26647389aa02ad96c150d7c3c9c194d30315456852cf6a0a940e0191ae5d04007454823d4e9a0b220cf7a855e2dbcc0b973134e2e119b982d7d40dbb1b27d99816c41f40e829aa049224431da84cbf1b7ae813abcc9ef4c1dfc1760f6ddc5d57f7354bf3cbf6cc4a015191f879ac115b362f0257fd3eedb789537e836574a5b1abf1c9982ebe3bdfea07913c1b6e7282569d2d421e9fa2257f5d1698e93303bc49b941704287d7aaefea0a526576981ce6fd9f2bd48dd2ca6d5272f2fbdc85f0ee35a295f6ccd97ae8765a0313fad407f0c737c29024c02a890c4ecc12d7771c05ab7b435e5087a7cdef4d9a0d2044603cba9d4afdaf6fd2470e729ef3a65242de71276f20d59accfa6b53a7ca0457caacb9370c09b15f7d904adefd2308be94e23669ba5f43241ffff5f438a0aa09fb2dd45a383a0cc088a72b14117e1e9b7d6889218f3ac7631e8de644c5cb76da0c675dcd4d3fb692b514851c6106e2b09e6f5661d56a0a32ae02e2efc1515c235a074949a59ff1bdba87548510d6e404ec4532f4456dfdec8e753d92fda11a3088ba0a328c6ab1ab8f70db4d23e95bb163c13ba0c508f063a5b1393a4efd7ff375f05a0c722fe3ce796998269373cbb2fc229b2bdf2c43c6c2df003309422e043ce6c03a024e69343286eec44fa4744f6907209116e5383cff3fa98fe81ba06e7e8d4366680",
+ "0xf90211a00e99ba2198124b8241ea304551fe973215829e2fbc0438d67922707a2a847432a0bb9ce24fd527879c5fe6dbbec1ef5a05ed9d1ca88e921d140bafbec1112f6a6aa099787fd6c7a1989229c4291ef5267335e66152ce417daea46e66d19cb6f81d1ca0e430ff4b8d5621baa5978673344e78b4d8b4df51431b6e63785267c98a24ce18a0bb3e91a825fe3d42ed270a93e9ad1aabd566c40cb28e622f7f1d7ee967c8afd6a0aa364b0056870c6507bc3262a5f851ecb13684088bdb13996d3cb2db401ce3ffa0a3732eba4c7a6e062665ab5be08acb986c3db87556fb138548cc900ff1e56995a026b088e90c9738b8ce16e853107a937a50d52726a24f9f6ce60f587762eb45a2a006c9d5bc3c064b5c1fb565bff91cace9161c64ae653a329610c1dcf34d434429a06c16df2edc70656d322d0c2403bad7d45bc790ffc3e7adeef856d98ea6afc91ba0ae05ed5d6c34b5da29c2e94d7880aeba0906f95f4ec10b132a1d4766a0701c98a01470a86aa350d1ada0c082eac75de828a851f9c8c7c4aa49b1556fe3a5574966a0334eef025100a6da1033710dd98e0475f29d3d7e397caf618ca71c336c5f4f49a0ef0b3abbebcff34d6a8a8f5cdbfbd154ab3452b58dcb09de58ec983644963675a041857e865ec38e200a13bc1a3cb71c7d69aeef7ffdee8be515c9a5b691ce091fa059edd0eb3bbec36bbf38a19802d4646c00ba821ab55fdeea12e15bab62c4e1e580",
+ "0xf90211a0af0c7fa65ffcb84c31e68c1cf00e1a20bf8bb497c39883e19b66a99975b03431a0c492cab3623eb7926069794c3c718733e16c5fd0d4a13fb7c752ee9809aac7ada05003cea7132aa70d6f36731d60640a90bcd8f4fd493e4540d5ab1b4943679c0ca0fd700683405b1d2306b586dd3b5b2f92f1692fae20d17cd8b8e59d09b9c6670da01db8683910e46e56e8afeb9fe2b7c35382e5a0914d7b0dd8f0e8cb9981ba7435a0fa7f75d73aa73c35824387bec81388315caa4aee3f4f5562f971beb256c62d49a0ee478e420d83f413e8568dacfd5d83f83a5dd7c45f494b504828e5dc962f0e3ea094b95444a917ac94a675681f6bf851172ad0969801a783a63a71edafed45e7a7a0a0c46586e109abe80fe50361dd582e3f143cb416828239faa43bb2b890869501a0ae051d5d43634c68bf9c97823256cc68580f194dfdbd0c301140c7ca5853430ca0660b9365bb77ec9cdc6eb95516c162dca20727c6f828dbbeb1ae110dde4d3134a09feb1b75e84ff6722e4d837bfb6d207b6ee3b21b86844a01140ce293813b49a1a0ed58a70b04efa3bdc0babe2abfa20824a75d61d52291bfdb5cf08597800764d6a020a2d5d3a83f9e35ad9fd1c448626d90af0eb3efefaa4f2f93207b4096ef5507a0fc8efc4484dcf0a54f0574de9aaade0dcff6ec3599edb9f82efb26b6566dcaeaa032f7e79856db3fd984f72bb2c93d4dab328198d355a61c975fab1f08bdb2046580"
+ ],
+ "balance": "0x0",
+ "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "nonce": "0x0",
+ "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "storageProof": [
+ {
+ "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "proof": [
+ "0xf90211a0c87222cccea2bf32759fcee9dbaacbe3ea4165dd6184af6773651c5e00e34a8ba0be90e6e5d1a67ab5587779c60ac136d6a96db62b84c04998a5f03a367346abd6a05344aa1c9ca2e3e56bf98fd718ec43728578d148e1967fbaf8bf17a2a073a0bda011a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae437a0b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7a0c133d3c637e174f36a73c22b1039eb003da6374bc0929321241badb3efa3c4a9a0f13059f2301ad9862ce02e3f7f3f2c9ab78eb30583764d73654f7f1f8b1e86fda06544e3915748b18204e09df75ff20d2fa6bd8121e2e669699012d54590383d6fa070e3a8e093691581d58fadb560b510262a758037632cd8670d3a36df828976b7a062a88a2900544dc76a32255a6b2b2a2eef8fa68279700c00adc7508286702552a0a474aeebd5603dfce46a6ecd1ecd519068dc034a544fde03ac42d4018e60a334a0b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6ca04440f1242e42c5bfa7c536591ab89c8e84bea417435871c32eef1e25295b20daa06a5dcfe3cc84cff9d3e3c3ae868cfba8f0dd111a90c3f85869dab5b893f96643a026b2fb9dd7d08b0ed2f1c44fbf875011412a384f86f751c92e1013248d4aa371a0c75597b2b789fc4e939b71937390ce9d7d53159431328ac52180eef08ef200f280",
+ "0xf90191a0f0c5b800b542001597f2b7a8e106ac0e2849d2cc1df1727ac35c4ea3965f1c9180a08537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713ea00b3a26a05b5494fb3ff6f0b3897688a5581066b20b07ebab9252d169d928717fa0a9a54d84976d134d6dba06a65064c7f3a964a75947d452db6f6bb4b6c47b43aaa01e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461a076f251d160b9a02eb0b5c1d83b61c9cdd4f37361705e79a45529bf49801fb824a0774a01a624cb14a50d17f2fe4b7ae6af8a67bbb029177ccc3dd729a734484d3ea05921b8a19aebe4fff5a36071e311778f9b93459183fdf7f6d870b401fa25dcbba0c8d71dd13d2806e2865a5c2cfa447f626471bf0b66182a8fd07230434e1cad2680a0e9864fdfaf3693b2602f56cd938ccd494b8634b1f91800ef02203a3609ca4c21a0c69d174ad6b6e58b0bd05914352839ec60915cd066dd2bee2a48016139687f21a0513dd5514fd6bad56871711441d38de2821cc6913cb192416b0385f025650731808080"
+ ],
+ "value": "0x1"
+ }
+ ]
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getStorageAt.mdx b/docs-api/api/methods/eth_getStorageAt.mdx
new file mode 100644
index 000000000..5fa64ed4a
--- /dev/null
+++ b/docs-api/api/methods/eth_getStorageAt.mdx
@@ -0,0 +1,127 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getStorageAt"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getStorageAt
+
+
+
+ Returns the value from a storage position at a given address.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+ **Storage slot** `string` *required*
+
+ ***
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Value** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_getStorageAt example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "0x0",
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x0000000000000000000000000000000000000000000000000000000000000000"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getTransactionByBlockHashAndIndex.mdx b/docs-api/api/methods/eth_getTransactionByBlockHashAndIndex.mdx
new file mode 100644
index 000000000..d9776e0a5
--- /dev/null
+++ b/docs-api/api/methods/eth_getTransactionByBlockHashAndIndex.mdx
@@ -0,0 +1,1111 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getTransactionByBlockHashAndIndex"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getTransactionByBlockHashAndIndex
+
+
+
+ Returns information about a transaction by block hash and transaction index position.
+
+
+ ## Parameters (by position)
+
+ **Block hash** `string` *required*
+
+ ***
+
+ **Transaction index** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Transaction information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Transaction information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+
+ **Transaction information** `object or object or object or object or object`
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getTransactionByBlockHashAndIndex example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7",
+ "0x2"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getTransactionByBlockNumberAndIndex.mdx b/docs-api/api/methods/eth_getTransactionByBlockNumberAndIndex.mdx
new file mode 100644
index 000000000..e441aee63
--- /dev/null
+++ b/docs-api/api/methods/eth_getTransactionByBlockNumberAndIndex.mdx
@@ -0,0 +1,1147 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getTransactionByBlockNumberAndIndex"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getTransactionByBlockNumberAndIndex
+
+
+
+ Returns information about a transaction by block number and transaction index position.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+ **Transaction index** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Transaction information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Transaction information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+
+ **Transaction information** `object or object or object or object or object`
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getTransactionByBlockNumberAndIndex example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x1442e",
+ "0x2"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getTransactionByHash.mdx b/docs-api/api/methods/eth_getTransactionByHash.mdx
new file mode 100644
index 000000000..359f1b2f3
--- /dev/null
+++ b/docs-api/api/methods/eth_getTransactionByHash.mdx
@@ -0,0 +1,1089 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getTransactionByHash"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getTransactionByHash
+
+
+
+ Returns the information about a transaction requested by transaction hash.
+
+
+ ## Parameters (by position)
+
+ **Transaction hash** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Transaction information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Transaction information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+
+ **Transaction information** `object or object or object or object or object`
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **Transaction information** `object`
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `Transaction information` object
+
+
+ #### `Transaction information` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getTransactionByHash example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getTransactionCount.mdx b/docs-api/api/methods/eth_getTransactionCount.mdx
new file mode 100644
index 000000000..75999735c
--- /dev/null
+++ b/docs-api/api/methods/eth_getTransactionCount.mdx
@@ -0,0 +1,122 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getTransactionCount"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getTransactionCount
+
+
+
+ Returns the nonce of an account in the state. NOTE: The name eth\_getTransactionCount reflects the historical fact that an account's nonce and sent transaction count were the same. After the Pectra fork, with the inclusion of EIP-7702, this is no longer true.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+
+ **Block** `string or string or string` *required*
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string` *required*
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string` *required*
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ **Block** `string` *required*
+
+ Block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Account nonce** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_getTransactionCount example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
+ "latest"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x1"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getTransactionReceipt.mdx b/docs-api/api/methods/eth_getTransactionReceipt.mdx
new file mode 100644
index 000000000..5ff6d984e
--- /dev/null
+++ b/docs-api/api/methods/eth_getTransactionReceipt.mdx
@@ -0,0 +1,432 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getTransactionReceipt"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getTransactionReceipt
+
+
+
+ Returns the receipt of a transaction by transaction hash.
+
+
+ ## Parameters (by position)
+
+ **Transaction hash** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+
+ **Receipt information** `null or object`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Receipt information** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Receipt information` object
+
+
+ #### `Receipt information` fields
+
+ **Receipt information** `object`
+
+ Receipt information
+
+ ***
+
+
+
+
+ Show `Receipt information` object
+
+
+ #### `Receipt information` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionIndex** `string` *required*
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockHash** `string` *required*
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string` *required*
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **from** `string` *required*
+
+ from
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ Address of the receiver or null in a contract creation transaction.
+
+ **to** `null`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ ***
+
+
+
+
+ Show Option 2 `Recipient Address` string
+
+
+ #### `Recipient Address` fields
+
+ Address of the receiver or null in a contract creation transaction.
+
+ **to** `string`
+
+ Address of the receiver or null in a contract creation transaction.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **cumulativeGasUsed** `string` *required*
+
+ The sum of gas used by this transaction and all preceding transactions in the same block.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ The amount of gas used for this specific transaction alone.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **contractAddress** `string or null`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ ***
+
+
+
+ Show Option 1 `hex encoded address` string
+
+
+ #### `hex encoded address` fields
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ **contractAddress** `string`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Null` null
+
+
+ #### `Null` fields
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ **contractAddress** `null`
+
+ The contract address created, if the transaction was a contract creation, otherwise null.
+
+ ***
+
+
+
+ * **logs** `array` *required*
+
+ log
+
+ ***
+
+
+
+
+ Show `logs` object
+
+
+ #### `logs` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **logsBloom** `string` *required*
+
+ logs bloom
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **root** `string`
+
+ The post-transaction state root. Only specified for transactions included before the Byzantium upgrade.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **status** `string`
+
+ Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **effectiveGasPrice** `string` *required*
+
+ The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas).
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blobGasPrice** `string`
+
+ The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getTransactionReceipt example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a",
+ "blockNumber": "0x50",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x5208",
+ "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "gasUsed": "0x5208",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x1",
+ "blobGasPrice": "0x3",
+ "logs": [],
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "status": "0x1",
+ "to": "0xf17f52151ebef6c7334fad080c5704d77216b732",
+ "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3",
+ "transactionIndex": "0x0"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getUncleCountByBlockHash.mdx b/docs-api/api/methods/eth_getUncleCountByBlockHash.mdx
new file mode 100644
index 000000000..60610556e
--- /dev/null
+++ b/docs-api/api/methods/eth_getUncleCountByBlockHash.mdx
@@ -0,0 +1,110 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getUncleCountByBlockHash"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getUncleCountByBlockHash
+
+
+
+ Returns the number of uncles in a block from a block matching the given block hash.
+
+
+ ## Parameters (by position)
+
+ **Block hash** `string`
+
+ ***
+
+
+
+ ## Result
+
+
+ **Uncle count** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Uncle count** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Uncle count` string
+
+
+ #### `Uncle count` fields
+
+ **Uncle count** `string`
+
+ Uncle count
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getUncleCountByBlockHash example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x1"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_getUncleCountByBlockNumber.mdx b/docs-api/api/methods/eth_getUncleCountByBlockNumber.mdx
new file mode 100644
index 000000000..cd878335b
--- /dev/null
+++ b/docs-api/api/methods/eth_getUncleCountByBlockNumber.mdx
@@ -0,0 +1,146 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_getUncleCountByBlockNumber"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_getUncleCountByBlockNumber
+
+
+
+ Returns the number of transactions in a block matching the given block number.
+
+
+ ## Parameters (by position)
+
+
+ **Block** `string or string`
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ **Block** `string`
+
+ Block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block** `string`
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+
+ ## Result
+
+
+ **Uncle count** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Not Found (null)` null
+
+
+ #### `Not Found (null)` fields
+
+ **Uncle count** `null`
+
+ Not Found (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Uncle count` string
+
+
+ #### `Uncle count` fields
+
+ **Uncle count** `string`
+
+ Uncle count
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: 4444
+
+
+ * **code**
+
+ 4444
+ * **message**
+
+ Pruned history unavailable
+
+
+
+
+ ## Examples
+
+
+
+ eth\_getUncleCountByBlockNumber example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xe8"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x1"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_maxPriorityFeePerGas.mdx b/docs-api/api/methods/eth_maxPriorityFeePerGas.mdx
new file mode 100644
index 000000000..1a1a74977
--- /dev/null
+++ b/docs-api/api/methods/eth_maxPriorityFeePerGas.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_maxPriorityFeePerGas"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_maxPriorityFeePerGas
+
+
+
+ Returns the current maxPriorityFeePerGas per gas in wei.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Max priority fee per gas** `string`
+
+ Max priority fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_maxPriorityFeePerGas example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x773c23ba"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_newBlockFilter.mdx b/docs-api/api/methods/eth_newBlockFilter.mdx
new file mode 100644
index 000000000..b17ade0f3
--- /dev/null
+++ b/docs-api/api/methods/eth_newBlockFilter.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_newBlockFilter"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_newBlockFilter
+
+
+
+ Creates a filter in the node, allowing for later polling. Registers client interest in new blocks, and returns an identifier.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Filter identifier** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_newBlockFilter example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x01"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_newFilter.mdx b/docs-api/api/methods/eth_newFilter.mdx
new file mode 100644
index 000000000..e2b3f0122
--- /dev/null
+++ b/docs-api/api/methods/eth_newFilter.mdx
@@ -0,0 +1,388 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_newFilter"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_newFilter
+
+
+
+ Install a log filter in the server, allowing for later polling. Registers client interest in logs matching the filter, and returns an identifier.
+
+
+ ## Parameters (by position)
+
+
+ **Filter** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Filter by block range` object
+
+
+ #### `Filter by block range` fields
+
+ **Filter** `object` *required*
+
+ Filter by block range
+
+ ***
+
+
+
+
+ Show `Filter` object
+
+
+ #### `Filter` fields
+
+ * **fromBlock** `string`
+
+ from block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **toBlock** `string`
+
+ to block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **address** `null or string or array`
+
+ ***
+
+
+
+ Show Option 1 `Any Address` null
+
+
+ #### `Any Address` fields
+
+ **address** `null`
+
+ Any Address
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **address** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 3 `Addresses` array
+
+
+ #### `Addresses` fields
+
+ **address** `array`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ *
+ **topics** `null or array
`
+
+ ***
+
+
+
+ Show Option 1 `Any Topic Match` null
+
+
+ #### `Any Topic Match` fields
+
+ **topics** `null`
+
+ Any Topic Match
+
+ ***
+
+
+
+
+ Show Option 2 `Specified Filter Topics` array
+
+
+ #### `Specified Filter Topics` fields
+
+
+ **topics** `string or array`
+
+ ***
+
+
+
+ Show Option 1 `Single Topic Match` string
+
+
+ #### `Single Topic Match` fields
+
+ **topics** `array`
+
+ Single Topic Match
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Multiple Topic Match` array
+
+
+ #### `Multiple Topic Match` fields
+
+ **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Filter by block hash` object
+
+
+ #### `Filter by block hash` fields
+
+ **Filter** `object` *required*
+
+ Filter by block hash
+
+ ***
+
+
+
+
+ Show `Filter` object
+
+
+ #### `Filter` fields
+
+ * **blockHash** `string` *required*
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ *
+ **address** `null or string or array`
+
+ ***
+
+
+
+ Show Option 1 `Any Address` null
+
+
+ #### `Any Address` fields
+
+ **address** `null`
+
+ Any Address
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **address** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+
+ Show Option 3 `Addresses` array
+
+
+ #### `Addresses` fields
+
+ **address** `array`
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ *
+ **topics** `null or array
`
+
+ ***
+
+
+
+ Show Option 1 `Any Topic Match` null
+
+
+ #### `Any Topic Match` fields
+
+ **topics** `null`
+
+ Any Topic Match
+
+ ***
+
+
+
+
+ Show Option 2 `Specified Filter Topics` array
+
+
+ #### `Specified Filter Topics` fields
+
+
+ **topics** `string or array`
+
+ ***
+
+
+
+ Show Option 1 `Single Topic Match` string
+
+
+ #### `Single Topic Match` fields
+
+ **topics** `array`
+
+ Single Topic Match
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Multiple Topic Match` array
+
+
+ #### `Multiple Topic Match` fields
+
+ **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ ## Result
+
+ **Filter identifier** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_newFilter example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "fromBlock": "0x137d3c2",
+ "toBlock": "0x137d3c3",
+ "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "topics": []
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x01"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_newPendingTransactionFilter.mdx b/docs-api/api/methods/eth_newPendingTransactionFilter.mdx
new file mode 100644
index 000000000..0cdf8093d
--- /dev/null
+++ b/docs-api/api/methods/eth_newPendingTransactionFilter.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_newPendingTransactionFilter"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_newPendingTransactionFilter
+
+
+
+ Creates a filter in the node, allowing for later polling. Registers client interest in new transactions, and returns an identifier.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+ **Filter identifier** `string`
+
+ hex encoded unsigned integer
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_newPendingTransactionFilter example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0x01"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_sendRawTransaction.mdx b/docs-api/api/methods/eth_sendRawTransaction.mdx
new file mode 100644
index 000000000..607ae9db0
--- /dev/null
+++ b/docs-api/api/methods/eth_sendRawTransaction.mdx
@@ -0,0 +1,65 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_sendRawTransaction"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_sendRawTransaction
+
+
+
+ Submits a raw transaction. You can create and sign a transaction externally using a library such as [web3.js](https://web3js.readthedocs.io/) or [ethers.js](https://docs.ethers.org/). For [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) transactions, the raw form must be the network form. This means it includes the blobs, KZG commitments, and KZG proofs. For [EIP-7594](https://eips.ethereum.org/EIPS/eip-7594) transactions, the raw format must be the network form. This means it includes the blobs, KZG commitments, and cell proofs. The logic for handling the new transaction during fork boundaries are 1. When receiving an encoded transaction with cell proofs before the PeerDAS fork activates, we reject it. Only blob proofs are accepted into the pool. 2. At the time of fork activation, the implementer could (not mandatory) - Drop all old-format transactions - Convert old proofs to new format (computationally expensive) - Convert only when including in a locally produced block 3. After the fork has activated, only txs with cell proofs are accepted via p2p relay. 4. On RPC (eth\_sendRawTransaction), txs with blob proofs may still be accepted and will be auto-converted by the node. At implementer discretion, this facility can be deprecated later when users have switched to new client libraries that can create cell proofs.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Transaction hash** `string`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_sendRawTransaction example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_sendTransaction.mdx b/docs-api/api/methods/eth_sendTransaction.mdx
new file mode 100644
index 000000000..f3cb02bd5
--- /dev/null
+++ b/docs-api/api/methods/eth_sendTransaction.mdx
@@ -0,0 +1,336 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_sendTransaction"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_sendTransaction
+
+
+
+ Signs and submits a transaction.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `object` *required*
+
+ Transaction object generic to all types
+
+ ***
+
+
+
+
+ Show `Transaction` object
+
+
+ #### `Transaction` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **from** `string`
+
+ from address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string`
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string`
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array`
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobs** `array`
+
+ Raw blob data.
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array`
+
+ EIP-7702 authorization list
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ EIP-7702 authorization list
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Transaction hash** `string`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_sendTransaction example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ "gas": "0x76c0",
+ "gasPrice": "0x9184e72a000",
+ "value": "0x9184e72a",
+ "input": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_sign.mdx b/docs-api/api/methods/eth_sign.mdx
new file mode 100644
index 000000000..b08e605ef
--- /dev/null
+++ b/docs-api/api/methods/eth_sign.mdx
@@ -0,0 +1,70 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_sign"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_sign
+
+
+
+ Returns an EIP-191 signature over the provided data.
+
+
+ ## Parameters (by position)
+
+ **Address** `string` *required*
+
+ ***
+
+ **Message** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Signature** `string`
+
+ 65 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{130}$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_sign example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x9b2055d370f73ec7d8a03e965129118dc8f5bf83",
+ "0xdeadbeaf"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_signTransaction.mdx b/docs-api/api/methods/eth_signTransaction.mdx
new file mode 100644
index 000000000..bf2ab390b
--- /dev/null
+++ b/docs-api/api/methods/eth_signTransaction.mdx
@@ -0,0 +1,336 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_signTransaction"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_signTransaction
+
+
+
+ Returns an RLP encoded transaction signed by the specified account.
+
+
+ ## Parameters (by position)
+
+ **Transaction** `object` *required*
+
+ Transaction object generic to all types
+
+ ***
+
+
+
+
+ Show `Transaction` object
+
+
+ #### `Transaction` fields
+
+ * **type** `string`
+
+ type
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **from** `string`
+
+ from address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string`
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string`
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array`
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobs** `array`
+
+ Raw blob data.
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array`
+
+ EIP-7702 authorization list
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ EIP-7702 authorization list
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Encoded transaction** `string`
+
+ hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_signTransaction example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ {
+ "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+ "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ "gas": "0x76c0",
+ "gasPrice": "0x9184e72a000",
+ "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ "value": "0x9184e72a"
+ }
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_simulateV1.mdx b/docs-api/api/methods/eth_simulateV1.mdx
new file mode 100644
index 000000000..9be0f046d
--- /dev/null
+++ b/docs-api/api/methods/eth_simulateV1.mdx
@@ -0,0 +1,2467 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_simulateV1"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_simulateV1
+
+
+
+ Executes a sequence of message calls building on each other's state without creating transactions on the block chain, optionally overriding block and state data
+
+
+ ## Parameters (by position)
+
+ **Payload** `object` *required*
+
+ Arguments for eth\_simulate
+
+ ***
+
+
+
+
+ Show `Payload` object
+
+
+ #### `Payload` fields
+
+ * **blockStateCalls** `array`
+
+ Definition of blocks that can contain calls and overrides
+
+ ***
+
+
+
+
+ Show `blockStateCalls` object
+
+
+ #### `blockStateCalls` fields
+
+ Definition of blocks that can contain calls and overrides
+
+ * **blockOverrides** `object`
+
+ Block overrides can be used to replace fields in a block.
+ default: no block override.
+
+ ***
+
+
+
+
+ Show `blockOverrides` object
+
+
+ #### `blockOverrides` fields
+
+ Block overrides can be used to replace fields in a block.
+ default: no block override.
+
+ * **number** `string`
+
+ When overriding block numbers across multiple blocks, block number need to be increasing. Skipping over blocks numbers is possible. If block number is not specified, it's incremented by one for each block.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **prevRandao** `string`
+
+ The Previous value of randomness beacon
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **time** `string`
+
+ Time must either increase or remain constant relative to the previous block. If time is not specified, it's incremented by one for each block.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **gasLimit** `string`
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **feeRecipient** `string`
+
+ Fee Recipient (also known as coinbase)
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per unit of gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **withdrawals** `array`
+
+ This array can have a maximum length of 16.
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ This array can have a maximum length of 16.
+
+ * **index** `string` *required*
+
+ index of withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ index of validator that generated withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ recipient address for withdrawal value
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ value contained in withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobBaseFee** `string`
+
+ Base fee per unit of blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **stateOverrides** `object`
+
+ State overrides can be used to replace existing blockchain state with new state.
+ Default: no state overrides
+
+ ***
+
+
+
+
+ Show `stateOverrides` object
+
+
+ #### `stateOverrides` fields
+
+ State overrides can be used to replace existing blockchain state with new state.
+ Default: no state overrides
+
+ *
+ **^0x\[a-fA-F0-9]\{40}$** `object or object`
+
+ ***
+
+
+
+ Show Option 1 `Account override with whole storage replacement` object
+
+
+ #### `Account override with whole storage replacement` fields
+
+ It is possible to override any kind of address (EOA's, contracts and precompiles)
+
+ **^0x\[a-fA-F0-9]\{40}$** `object`
+
+ It is possible to override any kind of address (EOA's, contracts and precompiles)
+
+ ***
+
+
+
+
+ Show `^0x[a-fA-F0-9]{40}$` object
+
+
+ #### `^0x[a-fA-F0-9]{40}$` fields
+
+ * **nonce** `string`
+
+ Nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **balance** `string`
+
+ Balance
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **code** `string`
+
+ Code
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **movePrecompileToAddress** `string`
+
+ Moves addresses precompile into the specified address. This move is done before the 'code' override is set. When the specified address is not a precompile, the behaviour is undefined and different clients might behave differently.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **state** `object` *required*
+
+ Key-value mapping to override all slots in the account storage before executing the call. This functions similar to eth\_call's state parameter.
+
+ ***
+
+
+
+
+ Show `state` object
+
+
+ #### `state` fields
+
+ Key-value mapping to override all slots in the account storage before executing the call. This functions similar to eth\_call's state parameter.
+
+ * **^0x\[a-fA-F0-9]\{64}$** `string`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Account override with partial storage modification` object
+
+
+ #### `Account override with partial storage modification` fields
+
+ **^0x\[a-fA-F0-9]\{40}$** `object`
+
+ Account override with partial storage modification
+
+ ***
+
+
+
+
+ Show `^0x[a-fA-F0-9]{40}$` object
+
+
+ #### `^0x[a-fA-F0-9]{40}$` fields
+
+ * **nonce** `string`
+
+ Nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **balance** `string`
+
+ Balance
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **code** `string`
+
+ Code
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **movePrecompileToAddress** `string`
+
+ Moves addresses precompile into the specified address. This move is done before the 'code' override is set. Can only move precompiles.
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateDiff** `object` *required*
+
+ Key-value mapping to override individual slots in the account storage before executing the call. This functions similar to eth\_call's state parameter.
+
+ ***
+
+
+
+
+ Show `stateDiff` object
+
+
+ #### `stateDiff` fields
+
+ Key-value mapping to override individual slots in the account storage before executing the call. This functions similar to eth\_call's state parameter.
+
+ * **^0x\[a-fA-F0-9]\{64}$** `string`
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ * **calls** `array`
+
+ List of transactions to execute at this block/state.
+ Default: \[]
+
+ ***
+
+
+
+
+ Show `calls` object
+
+
+ #### `calls` fields
+
+ List of transactions to execute at this block/state.
+ Default: \[]
+
+ * **type** `string`
+
+ Default: 0x2
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **nonce** `string`
+
+ Default: Defaults to correct nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **to** `string`
+
+ Default: 0x0
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **from** `string`
+
+ Default: null
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string`
+
+ Default: Remaining gas in the current block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **value** `string`
+
+ Default: 0
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **input** `string`
+
+ Default: no data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The gas price willing to be paid by the sender in wei
+ Default: 0
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string`
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+ Default: 0
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **maxFeePerGas** `string`
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+ Default: 0
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string`
+
+ The maximum total fee per blob gas the sender is willing to pay in wei
+ Default: 0
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **accessList** `array`
+
+ EIP-2930 access list
+ Default: \[]
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+ Default: \[]
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `string`
+
+ EIP-4844 versioned hashes
+ Default: \[]
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **traceTransfers** `boolean`
+
+ Adds ETH transfers as ERC20 transfer events to the logs. These transfers have emitter contract parameter set as address(0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee).
+ Default: false.
+
+ ***
+
+ * **validation** `boolean`
+
+ When true, the eth\_simulateV1 does all validations that a normal EVM would do, except contract sender and signature checks. When false, eth\_simulateV1 behaves like eth\_call.
+ Default: false.
+
+ ***
+
+ * **returnFullTransactions** `boolean`
+
+ When true, the method returns full transaction objects, otherwise, just hashes are returned.
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+ **Block tag** `string or string or string`
+
+ default: 'latest'
+
+ ***
+
+
+
+ Show Option 1 `Block number` string
+
+
+ #### `Block number` fields
+
+ default: 'latest'
+
+ **Block tag** `string`
+
+ default: 'latest'
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+
+
+
+ Show Option 2 `Block tag` string
+
+
+ #### `Block tag` fields
+
+ `earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error
+
+ **Block tag** `string`
+
+ default: 'latest'
+
+ *Allowed values:* `earliest` `finalized` `safe` `latest` `pending`
+
+ ***
+
+
+
+
+ Show Option 3 `Block hash` string
+
+
+ #### `Block hash` fields
+
+ default: 'latest'
+
+ **Block tag** `string`
+
+ default: 'latest'
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+
+ ## Result
+
+ **Result of calls** `array
`
+
+ Result of eth\_simulate block-level, with array of calls
+
+ ***
+
+
+
+
+ Show `Result of calls` object
+
+
+ #### `Result of calls` fields
+
+ * **hash** `string` *required*
+
+ Hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **parentHash** `string` *required*
+
+ Parent block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **sha3Uncles** `string` *required*
+
+ Ommers hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **miner** `string` *required*
+
+ Coinbase
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **stateRoot** `string` *required*
+
+ State root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **transactionsRoot** `string` *required*
+
+ Transactions root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **receiptsRoot** `string` *required*
+
+ Receipts root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **logsBloom** `string` *required*
+
+ Bloom filter
+
+ *Match pattern:* `^0x[0-9a-f]{512}$`
+
+ ***
+
+ * **difficulty** `string`
+
+ Difficulty
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **number** `string` *required*
+
+ Number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasLimit** `string` *required*
+
+ Gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **timestamp** `string` *required*
+
+ Timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **extraData** `string` *required*
+
+ Extra data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **mixHash** `string` *required*
+
+ Mix hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ Nonce
+
+ *Match pattern:* `^0x[0-9a-f]{16}$`
+
+ ***
+
+ * **baseFeePerGas** `string`
+
+ Base fee per gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **withdrawalsRoot** `string`
+
+ Withdrawals root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blobGasUsed** `string`
+
+ Blob gas used
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **excessBlobGas** `string`
+
+ Excess blob gas
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **parentBeaconBlockRoot** `string`
+
+ Parent Beacon Block Root
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **size** `string` *required*
+
+ Block size
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **transactions** `array
or array` *required*
+
+ ***
+
+
+
+ Show Option 1 `Transaction hashes` array
+
+
+ #### `Transaction hashes` fields
+
+ **transactions** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+
+
+
+ Show Option 2 `Full transactions` array
+
+
+ #### `Full transactions` fields
+
+
+ **transactions** `object or object or object or object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Signed 7702 Transaction` object
+
+
+ #### `Signed 7702 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 7702 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x4$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access lists
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access lists
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **authorizationList** `array` *required*
+
+ List of authorizations for the transaction
+
+ ***
+
+
+
+
+ Show `authorizationList` object
+
+
+ #### `authorizationList` fields
+
+ List of authorizations for the transaction
+
+ * **chainId** `string` *required*
+
+ Chain ID on which this transaction is valid
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Signed 4844 Transaction` object
+
+
+ #### `Signed 4844 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 4844 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x3$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **to** `string` *required*
+
+ to address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerBlobGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay for blob gas in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string`
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **blobVersionedHashes** `array` *required*
+
+ List of versioned blob hashes associated with the transaction's EIP-4844 data blobs
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 3 `Signed 1559 Transaction` object
+
+
+ #### `Signed 1559 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 1559 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x2$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **maxPriorityFeePerGas** `string` *required*
+
+ Maximum fee per gas the sender is willing to pay to miners in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **maxFeePerGas** `string` *required*
+
+ The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 4 `Signed 2930 Transaction` object
+
+
+ #### `Signed 2930 Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed 2930 Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **accessList** `array` *required*
+
+ EIP-2930 access list
+
+ ***
+
+
+
+
+ Show `accessList` object
+
+
+ #### `accessList` fields
+
+ EIP-2930 access list
+
+ * **address** `string` *required*
+
+ hex encoded address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **storageKeys** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **chainId** `string` *required*
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **yParity** `string` *required*
+
+ The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **v** `string`
+
+ For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`.
+
+ *Match pattern:* `^0x([0-9a-fA-F]?){1,2}$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 5 `Signed Legacy Transaction` object
+
+
+ #### `Signed Legacy Transaction` fields
+
+ **transactions** `array` *required*
+
+ Signed Legacy Transaction
+
+ ***
+
+
+
+
+ Show `transactions` object
+
+
+ #### `transactions` fields
+
+ * **type** `string` *required*
+
+ type
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **nonce** `string` *required*
+
+ nonce
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ *
+ **to** `null or string`
+
+ ***
+
+
+
+ Show Option 1 `Contract Creation (null)` null
+
+
+ #### `Contract Creation (null)` fields
+
+ **to** `null`
+
+ Contract Creation (null)
+
+ ***
+
+
+
+
+ Show Option 2 `Address` string
+
+
+ #### `Address` fields
+
+ **to** `string`
+
+ Address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+
+
+ * **gas** `string` *required*
+
+ gas limit
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **value** `string` *required*
+
+ value
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **input** `string` *required*
+
+ input data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasPrice** `string` *required*
+
+ The gas price willing to be paid by the sender in wei
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **chainId** `string`
+
+ Chain ID that this transaction is valid on.
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **v** `string` *required*
+
+ v
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **r** `string` *required*
+
+ r
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **s** `string` *required*
+
+ s
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+
+ * **withdrawals** `array`
+
+ Validator withdrawal
+
+ ***
+
+
+
+
+ Show `withdrawals` object
+
+
+ #### `withdrawals` fields
+
+ * **index** `string` *required*
+
+ index of withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **validatorIndex** `string` *required*
+
+ index of validator that generated withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **address** `string` *required*
+
+ recipient address for withdrawal value
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **amount** `string` *required*
+
+ value contained in withdrawal
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,63})$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **uncles** `array` *required*
+
+ 32 byte hex value
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **requestsHash** `string`
+
+ EIP-7685 requests hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ *
+ **calls** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `Result of call failure` object
+
+
+ #### `Result of call failure` fields
+
+ The error messages are suggestions, and clients might implement different error messages. However, the error codes are enforced by the spec.
+
+ **calls** `array` *required*
+
+ The error messages are suggestions, and clients might implement different error messages. However, the error codes are enforced by the spec.
+
+ ***
+
+
+
+
+ Show `calls` object
+
+
+ #### `calls` fields
+
+ * **status** `string` *required*
+
+ Call Status Failure
+
+ *Match pattern:* `^0x0$`
+
+ ***
+
+ * **returnData** `string` *required*
+
+ Return data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Return gasUsed
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ *
+ **error** `object or object` *required*
+
+ ***
+
+
+
+ Show Option 1 `error` object
+
+
+ #### `error` fields
+
+ **error** `object` *required*
+
+ ***
+
+
+
+
+ Show `error` object
+
+
+ #### `error` fields
+
+ *
+
+ * **message** `string` *required*
+
+ *Match pattern:* `^execution reverted.*`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `error` object
+
+
+ #### `error` fields
+
+ **error** `object` *required*
+
+ ***
+
+
+
+
+ Show `error` object
+
+
+ #### `error` fields
+
+ *
+
+ * **message** `string`
+
+ *Match pattern:* `^vm execution error.*`
+
+ ***
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Result of call success` object
+
+
+ #### `Result of call success` fields
+
+ **calls** `array` *required*
+
+ Result of call success
+
+ ***
+
+
+
+
+ Show `calls` object
+
+
+ #### `calls` fields
+
+ * **status** `string` *required*
+
+ Call Status Success
+
+ *Match pattern:* `^0x1$`
+
+ ***
+
+ * **returnData** `string` *required*
+
+ Return data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **gasUsed** `string` *required*
+
+ Return gasUsed
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]{0,15})$`
+
+ ***
+
+ * **logs** `array` *required*
+
+ log
+
+ ***
+
+
+
+
+ Show `logs` object
+
+
+ #### `logs` fields
+
+ * **removed** `boolean`
+
+ removed
+
+ ***
+
+ * **logIndex** `string`
+
+ log index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionIndex** `string`
+
+ transaction index
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **transactionHash** `string` *required*
+
+ transaction hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockHash** `string`
+
+ block hash
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **blockNumber** `string`
+
+ block number
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **blockTimestamp** `string`
+
+ block timestamp
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **address** `string`
+
+ address
+
+ *Match pattern:* `^0x[0-9a-fA-F]{40}$`
+
+ ***
+
+ * **data** `string`
+
+ data
+
+ *Match pattern:* `^0x[0-9a-f]*$`
+
+ ***
+
+ * **topics** `array`
+
+ 32 hex encoded bytes
+
+ *Match pattern:* `^0x[0-9a-f]{64}$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ * **additionalProperties** `true`
+
+ ***
+
+
+
+
+
+ ## Errors
+
+
+
+ Error code: -32000
+
+
+ * **code**
+
+ -32000
+ * **message**
+
+ Invalid request
+
+
+
+
+ Error code: -32602
+
+
+ * **code**
+
+ -32602
+ * **message**
+
+ Missing or invalid parameters
+
+
+
+
+ Error code: -32005
+
+
+ * **code**
+
+ -32005
+ * **message**
+
+ Transactions maxFeePerGas is too low
+
+
+
+
+ Error code: -32015
+
+
+ * **code**
+
+ -32015
+ * **message**
+
+ Execution error
+
+
+
+
+ Error code: -32016
+
+
+ * **code**
+
+ -32016
+ * **message**
+
+ Timeout
+
+
+
+
+ Error code: -32603
+
+
+ * **code**
+
+ -32603
+ * **message**
+
+ The Ethereum node encountered an internal error
+
+
+
+
+ Error code: -38010
+
+
+ * **code**
+
+ -38010
+ * **message**
+
+ Transactions nonce is too low
+
+
+
+
+ Error code: -38011
+
+
+ * **code**
+
+ -38011
+ * **message**
+
+ Transactions nonce is too high
+
+
+
+
+ Error code: -38012
+
+
+ * **code**
+
+ -38012
+ * **message**
+
+ Transactions baseFeePerGas is too low
+
+
+
+
+ Error code: -38013
+
+
+ * **code**
+
+ -38013
+ * **message**
+
+ Not enough gas provided to pay for intrinsic gas for a transaction
+
+
+
+
+ Error code: -38014
+
+
+ * **code**
+
+ -38014
+ * **message**
+
+ Insufficient funds to pay for gas fees and value for a transaction
+
+
+
+
+ Error code: -38015
+
+
+ * **code**
+
+ -38015
+ * **message**
+
+ Block gas limit exceeded by the block's transactions
+
+
+
+
+ Error code: -38020
+
+
+ * **code**
+
+ -38020
+ * **message**
+
+ Block number in sequence did not increase
+
+
+
+
+ Error code: -38021
+
+
+ * **code**
+
+ -38021
+ * **message**
+
+ Block timestamp in sequence did not increase or stay the same
+
+
+
+
+ Error code: -38022
+
+
+ * **code**
+
+ -38022
+ * **message**
+
+ MovePrecompileToAddress referenced itself in replacement
+
+
+
+
+ Error code: -38023
+
+
+ * **code**
+
+ -38023
+ * **message**
+
+ Multiple MovePrecompileToAddress referencing the same address to replace
+
+
+
+
+ Error code: -38024
+
+
+ * **code**
+
+ -38024
+ * **message**
+
+ Sender is not an EOA
+
+
+
+
+ Error code: -38025
+
+
+ * **code**
+
+ -38025
+ * **message**
+
+ Max init code size exceeded
+
+
+
+
+ Error code: -38026
+
+
+ * **code**
+
+ -38026
+ * **message**
+
+ Client adjustable limit exceeded
+
+
+
+
diff --git a/docs-api/api/methods/eth_syncing.mdx b/docs-api/api/methods/eth_syncing.mdx
new file mode 100644
index 000000000..a52d9f252
--- /dev/null
+++ b/docs-api/api/methods/eth_syncing.mdx
@@ -0,0 +1,131 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_syncing"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_syncing
+
+
+
+ Returns an object with data about the sync status or false.
+
+
+ ## Parameters (by position)
+
+ This method does not accept any parameters.
+
+
+
+ ## Result
+
+
+ **Syncing status** `object or unknown`
+
+ ***
+
+
+
+ Show Option 1 `Syncing progress` object
+
+
+ #### `Syncing progress` fields
+
+ **Syncing status** `object`
+
+ Syncing progress
+
+ ***
+
+
+
+
+ Show `Syncing status` object
+
+
+ #### `Syncing status` fields
+
+ * **startingBlock** `string`
+
+ Starting block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **currentBlock** `string`
+
+ Current block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **highestBlock** `string`
+
+ Highest block
+
+ *Match pattern:* `^0x(0|[1-9a-f][0-9a-f]*)$`
+
+ ***
+
+ * **additionalProperties** `false`
+
+ ***
+
+
+
+
+
+
+ Show Option 2 `Not syncing` boolean
+
+
+ #### `Not syncing` fields
+
+ Should always return false if not syncing.
+
+ **Syncing status** `boolean`
+
+ Should always return false if not syncing.
+
+ ***
+
+
+
+
+
+ ## Examples
+
+
+
+ eth\_syncing example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": []
+ }
+ ```
+
+ #### Response
+
+ ```json
+ {
+ "startingBlock": "0x0",
+ "currentBlock": "0x1518",
+ "highestBlock": "0x9567a3"
+ }
+ ```
+
+
+
+
diff --git a/docs-api/api/methods/eth_uninstallFilter.mdx b/docs-api/api/methods/eth_uninstallFilter.mdx
new file mode 100644
index 000000000..31423ccdf
--- /dev/null
+++ b/docs-api/api/methods/eth_uninstallFilter.mdx
@@ -0,0 +1,61 @@
+---
+# GENERATED DOCUMENTATION - DO NOT EDIT THIS FILE
+title: "eth_uninstallFilter"
+hide_table_of_contents: true
+description: ""
+---
+
+import {TwoColumnLayout, InteractiveRequest, ResponseExample} from '@open-rpc/docusaurus-plugin/components';
+import { useState } from 'react';
+
+ }>
+
+ # eth\_uninstallFilter
+
+
+
+ Uninstalls a filter with given id.
+
+
+ ## Parameters (by position)
+
+ **Filter identifier** `string` *required*
+
+ ***
+
+
+
+ ## Result
+
+ **Success** `boolean`
+
+ ***
+
+
+
+ ## Examples
+
+
+
+ eth\_uninstallFilter example
+
+
+ #### Request
+
+ ```json
+ {
+ "params": [
+ "0x01"
+ ]
+ }
+ ```
+
+ #### Response
+
+ ```json
+ true
+ ```
+
+
+
+
diff --git a/docs/reference/contributors-guide.md b/docs-api/docs/contributors-guide.md
similarity index 100%
rename from docs/reference/contributors-guide.md
rename to docs-api/docs/contributors-guide.md
diff --git a/docs/reference/ethsimulatev1-notes.mdx b/docs-api/docs/ethsimulatev1-notes.mdx
similarity index 100%
rename from docs/reference/ethsimulatev1-notes.mdx
rename to docs-api/docs/ethsimulatev1-notes.mdx
diff --git a/docs/reference/intro.md b/docs-api/docs/intro.md
similarity index 91%
rename from docs/reference/intro.md
rename to docs-api/docs/intro.md
index 30dc7c9ab..00429b5c0 100644
--- a/docs/reference/intro.md
+++ b/docs-api/docs/intro.md
@@ -1,4 +1,3 @@
-
# Introduction
Welcome to the Ethereum JSON-RPC documentation. This site provides comprehensive information about the JSON-RPC APIs provided by Ethereum execution clients.
@@ -36,4 +35,4 @@ Each category serves specific purposes and provides different functionalities fo
## Contributing
-We welcome contributions to improve this documentation. Please see our [Contributors Guide](/contributors-guide) guide for more information on how to contribute.
+We welcome contributions to improve this documentation. Please see our [Contributors Guide](./contributors-guide) guide for more information on how to contribute.
diff --git a/docs/reference/quickstart.md b/docs-api/docs/quickstart.md
similarity index 94%
rename from docs/reference/quickstart.md
rename to docs-api/docs/quickstart.md
index 945ba004f..5e9b52c15 100644
--- a/docs/reference/quickstart.md
+++ b/docs-api/docs/quickstart.md
@@ -22,6 +22,7 @@ specification and the JSON schema [specification][json-schema] to get started.
### Updating the specs
#### Compiling
+
The specification is split into multiple files to improve readability. The
spec can be compiled into a single document as follows:
@@ -37,14 +38,14 @@ will have all schema `#ref`s resolved.
#### Building the docs
Once you've updated something in the spec, you can use the docs generation tools
-to view the updated specs locally.
+to view the updated specs locally.
```console
$ npm run build:docs
$ npm run watch
```
-The `watch` command starts a local webserver serving the docs in-browser at
+The `watch` command starts a local webserver serving the docs in-browser at
`http://0.0.0.0:8000` and it rebuilds when you update something in the specs.
Please reload the page to see your changes.
@@ -54,6 +55,7 @@ There are several mechanisms for testing specification contributions and client
conformance.
#### Linting
+
First is the [OpenRPC validator][validator]. It performs some basic syntactic
checks on the generated specification.
@@ -64,12 +66,13 @@ OpenRPC spec validated successfully.
```
#### Spec tests
+
Next is `speccheck`. This tool validates the test cases in the `tests`
-directory against the specification. There are two npm scripts to simplify this.
+directory against the specification. There are two npm scripts to simplify this.
```console
$ npm run build:test
-$ npm run test
+$ npm run test
all passing.
```
@@ -81,7 +84,7 @@ $ speccheck -v
```
If you get an error that says: `speccheck: command not found`,
- make sure that the go binary is in your $PATH:
+make sure that the go binary is in your $PATH:
```console
$ export PATH=$HOME/go/bin:$PATH
@@ -102,6 +105,7 @@ pyspelling is a wrapper around either [Aspell](http://aspell.net/) or
one of those before running `pyspelling`.
#### Hive tests
+
Finally, the test cases in the `tests/` directory may be run against individual
execution client using the [`hive`][hive] simulator [`rpc-compat`][rpc-compat].
Please see the documentation in the aforementioned repositories for more
@@ -133,15 +137,14 @@ $ npm run graphql:validate
This repository is licensed under [CC0][license].
-
[playground]: https://ethereum.github.io/execution-apis/api-documentation/
[openrpc]: https://open-rpc.org
[validator]: https://open-rpc.github.io/schema-utils-js/functions/validateOpenRPCDocument.html
[graphql-schema]: http://graphql-schema.ethdevops.io/?url=https://raw.githubusercontent.com/ethereum/execution-apis/main/graphql.json
[eip-1767]: https://eips.ethereum.org/EIPS/eip-1767
-[contributors-guide]: ../contributors-guide
+[contributors-guide]: ./contributors-guide
[json-schema]: https://json-schema.org
[hive]: https://github.com/ethereum/hive
[rpc-compat]: https://github.com/ethereum/hive/tree/master/simulators/ethereum/rpc-compat
-[test-gen]: ../tests
+[test-gen]: ./tests
[license]: https://github.com/ethereum/execution-apis/blob/main/LICENSE
diff --git a/docs/reference/tests.md b/docs-api/docs/tests.md
similarity index 100%
rename from docs/reference/tests.md
rename to docs-api/docs/tests.md
diff --git a/docs-api/sidebars.ts b/docs-api/sidebars.ts
new file mode 100644
index 000000000..68c7181be
--- /dev/null
+++ b/docs-api/sidebars.ts
@@ -0,0 +1,9 @@
+import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
+
+const sidebars: SidebarsConfig = {
+ docsSidebar: [{type: 'autogenerated', dirName: '.'}],
+
+};
+
+export default sidebars;
+
diff --git a/docs-api/src/css/custom.css b/docs-api/src/css/custom.css
new file mode 100644
index 000000000..26313f420
--- /dev/null
+++ b/docs-api/src/css/custom.css
@@ -0,0 +1,23 @@
+:root {
+ --ifm-color-primary: #25c2a0;
+ --ifm-color-primary-dark: #21af90;
+ --ifm-color-primary-darker: #1fa588;
+ --ifm-color-primary-darkest: #1a8870;
+ --ifm-color-primary-light: #29d5b0;
+ --ifm-color-primary-lighter: #32d8b4;
+ --ifm-color-primary-lightest: #4fddbf;
+ --ifm-code-font-size: 95%;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
+}
+
+[data-theme='dark'] {
+ --ifm-color-primary: #25c2a0;
+ --ifm-color-primary-dark: #21af90;
+ --ifm-color-primary-darker: #1fa588;
+ --ifm-color-primary-darkest: #1a8870;
+ --ifm-color-primary-light: #29d5b0;
+ --ifm-color-primary-lighter: #32d8b4;
+ --ifm-color-primary-lightest: #4fddbf;
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
+}
+
diff --git a/docs-api/src/pages/index.tsx b/docs-api/src/pages/index.tsx
new file mode 100644
index 000000000..8752a00d7
--- /dev/null
+++ b/docs-api/src/pages/index.tsx
@@ -0,0 +1,14 @@
+import Link from '@docusaurus/Link';
+import Layout from '@theme/Layout';
+
+export default function Home() {
+ return (
+
+
+ Ethereum Execution APIs
+ JSON-RPC API specification for Ethereum execution clients
+ View API Reference →
+
+
+ );
+}
\ No newline at end of file
diff --git a/docs-api/static/img/.gitkeep b/docs-api/static/img/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
new file mode 100644
index 000000000..0a0f3d102
--- /dev/null
+++ b/docusaurus.config.ts
@@ -0,0 +1,77 @@
+import {themes as prismThemes} from 'prism-react-renderer';
+import type {Config} from '@docusaurus/types';
+import type * as Preset from '@docusaurus/preset-classic';
+
+const config: Config = {
+ title: 'Ethereum Execution APIs',
+ tagline: 'JSON-RPC API specification for Ethereum execution clients',
+ favicon: 'img/favicon.ico',
+
+ /*future: { v4: true },*/
+
+ /* TODO replace url: 'https://ethereum.github.io', */
+ url: 'https://open-rpc.github.io',
+ baseUrl: '/execution-apis/',
+
+ organizationName: 'ethereum',
+ projectName: 'execution-apis',
+
+ onBrokenLinks: 'throw',
+ onBrokenMarkdownLinks: 'warn',
+
+ i18n: { defaultLocale: 'en', locales: ['en'] },
+
+ plugins: [
+ ['@open-rpc/docusaurus-plugin', {
+ openRPCSpecPath: './execution-apis.json',
+ docOutputPath: './docs-api/api',
+ }],
+ ['@docusaurus/plugin-content-docs', {
+ id: 'api',
+ path: 'docs-api/api',
+ routeBasePath: 'api',
+ sidebarPath: './docs-api/sidebars.ts',
+ }],
+ ],
+
+ presets: [
+ ['classic', {
+ docs: {
+ path: 'docs-api/docs',
+ sidebarPath: './docs-api/sidebars.ts',
+ editUrl: 'https://github.com/ethereum/execution-apis/tree/main/',
+ },
+ pages: {
+ path: 'docs-api/src/pages',
+ },
+ blog: false,
+ theme: {
+ customCss: './docs-api/src/css/custom.css',
+ },
+ } satisfies Preset.Options],
+ ],
+
+ staticDirectories: ['docs-api/static'],
+
+ themeConfig: {
+ colorMode: { respectPrefersColorScheme: true },
+ navbar: {
+ title: 'Execution APIs',
+ items: [
+ { type: 'docSidebar', sidebarId: 'docsSidebar', label: 'Docs', position: 'left' },
+ { to: '/api', label: 'API Reference', position: 'left' },
+ { href: 'https://github.com/ethereum/execution-apis', label: 'GitHub', position: 'right' },
+ ],
+ },
+ footer: {
+ style: 'dark',
+ copyright: `Copyright © ${new Date().getFullYear()} Ethereum Foundation. Built with Docusaurus.`,
+ },
+ prism: {
+ theme: prismThemes.github,
+ darkTheme: prismThemes.dracula,
+ },
+ } satisfies Preset.ThemeConfig,
+};
+
+export default config;
diff --git a/execution-apis.json b/execution-apis.json
new file mode 100644
index 000000000..3ea68a2d1
--- /dev/null
+++ b/execution-apis.json
@@ -0,0 +1,15745 @@
+{
+ "openrpc": "1.2.4",
+ "info": {
+ "title": "Ethereum JSON-RPC Specification",
+ "description": "A specification of the standard interface for Ethereum clients.",
+ "license": {
+ "name": "CC0-1.0",
+ "url": "https://creativecommons.org/publicdomain/zero/1.0/legalcode"
+ },
+ "version": "0.0.0"
+ },
+ "methods": [
+ {
+ "name": "debug_getBadBlocks",
+ "summary": "Returns an array of recent bad blocks that the client has seen on the network.",
+ "params": [],
+ "result": {
+ "name": "Blocks",
+ "schema": {
+ "title": "Bad block array",
+ "type": "array",
+ "items": {
+ "title": "Bad block",
+ "type": "object",
+ "required": [
+ "block",
+ "hash",
+ "rlp"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "block": {
+ "title": "Block",
+ "type": "object",
+ "required": [
+ "hash",
+ "parentHash",
+ "sha3Uncles",
+ "miner",
+ "stateRoot",
+ "transactionsRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "number",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "mixHash",
+ "nonce",
+ "size",
+ "transactions",
+ "uncles"
+ ],
+ "properties": {
+ "hash": {
+ "title": "Hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "sha3Uncles": {
+ "title": "Ommers hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "miner": {
+ "title": "Coinbase",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionsRoot": {
+ "title": "Transactions root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "difficulty": {
+ "title": "Difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "number": {
+ "title": "Number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "mixHash": {
+ "title": "Mix hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "withdrawalsRoot": {
+ "title": "Withdrawals root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "parentBeaconBlockRoot": {
+ "title": "Parent Beacon Block Root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "size": {
+ "title": "Block size",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactions": {
+ "anyOf": [
+ {
+ "title": "Transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "Full transactions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Validator withdrawal",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "index": {
+ "title": "index of withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "index of validator that generated withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "recipient address for withdrawal value",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "value contained in withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "uncles": {
+ "title": "Uncles",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "requestsHash": {
+ "title": "EIP-7685 requests hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ },
+ "hash": {
+ "title": "Hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "rlp": {
+ "title": "RLP",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "debug_getBadBlocks example",
+ "params": [],
+ "result": {
+ "name": "Bad block array",
+ "value": [
+ {
+ "block": {
+ "number": "0xd",
+ "hash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "parentHash": "0x544a2f7a4c8defc0d8da44aa0c0db7c36b56db2605c01ed266e919e936579d31",
+ "nonce": "0x0000000000000000",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "transactionsRoot": "0x02c387e001cbe2a8296bfa2e18afbc3480d0e49588b05556148b0bf7c17dec41",
+ "stateRoot": "0x861ab7e868e3c23f84b7c4ed86b52a6a4f063633bc45ef29212c33459df84ea5",
+ "receiptsRoot": "0xccd2d33763dc0ac3fe02d4ecbbcd7d2bdc6f57db635ba31007184679303721d7",
+ "miner": "0x0000000000000000000000000000000000000000",
+ "difficulty": "0x1",
+ "extraData": "0x00000000000000000000000000000000000000000000000000000000000000008c6a091f07e4ba3930f2f5fabbfc5b1c70986319096760ba200a6abc0d30e33c2d501702d1b58d7f75807bdbf981044557628611319121170b96466ec06bb3fd01",
+ "size": "0x3a0",
+ "gasLimit": "0xffffffffffff",
+ "gasUsed": "0x1a488",
+ "timestamp": "0x5f5b6824",
+ "uncles": [],
+ "transactions": [
+ {
+ "blockHash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "blockNumber": "0xd",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x1a49e",
+ "gasPrice": "0x3e8",
+ "hash": "0xdd8cf045113754c306ba9ac8ac8786235e33bc5c087678084ef260a2a583f127",
+ "input": "0x608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033",
+ "nonce": "0x0",
+ "to": null,
+ "transactionIndex": "0x0",
+ "value": "0x0",
+ "v": "0xf9d",
+ "r": "0xa7a15050302ca4b7d3842d35cdd3cbf25b2c48c0c37f96d78beb6a6a6bc4f1c7",
+ "s": "0x130d29294b2b6a2b7e89f501eb27772f7abf37bfa28a1ce300daade975589fca"
+ }
+ ]
+ },
+ "hash": "0x85c2edc1ca74b4863cab46ff6ed4df514a698aa7c29a9bce58742a33af07d7e6",
+ "rlp": "0xf9039df9025ca0544a2f7a4c8defc0d8da44aa0c0db7c36b56db2605c01ed266e919e936579d31a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0861ab7e868e3c23f84b7c4ed86b52a6a4f063633bc45ef29212c33459df84ea5a002c387e001cbe2a8296bfa2e18afbc3480d0e49588b05556148b0bf7c17dec41a0ccd2d33763dc0ac3fe02d4ecbbcd7d2bdc6f57db635ba31007184679303721d7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d86ffffffffffff8301a488845f5b6824b86100000000000000000000000000000000000000000000000000000000000000008c6a091f07e4ba3930f2f5fabbfc5b1c70986319096760ba200a6abc0d30e33c2d501702d1b58d7f75807bdbf981044557628611319121170b96466ec06bb3fd01a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9013af90137808203e88301a49e8080b8e6608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033820f9da0a7a15050302ca4b7d3842d35cdd3cbf25b2c48c0c37f96d78beb6a6a6bc4f1c7a0130d29294b2b6a2b7e89f501eb27772f7abf37bfa28a1ce300daade975589fcac0"
+ },
+ {
+ "block": {
+ "number": "0x8",
+ "hash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "parentHash": "0x98ae440cd7b904d842daa6c263608969a3c8ce6a9acd6bd1f99b394f5f28a207",
+ "nonce": "0x0000000000000000",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "transactionsRoot": "0x8ee998cc699a1f9310a1079458780b3ebee8756f96a0905f5224b89d0eb17486",
+ "stateRoot": "0x140a9783291704223eb759e3a0db5471a520d349fc17ac2f77ff8582472e3bac",
+ "receiptsRoot": "0x2b5c77f6e7764d2468178fab7253346b9b8bb6a34b63946f6bdc2f5ad398bfc3",
+ "miner": "0x0000000000000000000000000000000000000000",
+ "difficulty": "0x2",
+ "extraData": "0x00000000000000000000000000000000000000000000000000000000000000004d04551bdd9ae08af1fd661e49d4ab662c98c532c7ec0e4656a27e4de7d330af578ab1e4f5e49e085ff1d78673c7388ed9ccf017fbe89e53066bfa4018142c0701",
+ "size": "0x3a0",
+ "gasLimit": "0xffffffffffff",
+ "gasUsed": "0x1a4c9",
+ "timestamp": "0x5f5b6b80",
+ "uncles": [],
+ "transactions": [
+ {
+ "blockHash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "blockNumber": "0x8",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x1a4c9",
+ "gasPrice": "0x3e8",
+ "hash": "0x675e336a4281b29c619dfd4ccfbd2f930f3728b20caf9e0067284aa3224e6758",
+ "input": "0x608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033",
+ "nonce": "0x0",
+ "to": null,
+ "transactionIndex": "0x0",
+ "value": "0x0",
+ "v": "0xf9d",
+ "r": "0x2e30624c0305e64812e1d9e325ba6e50410314634b008edcb50f45be71fa0d4",
+ "s": "0x50e205faed23c219ba15610de2451d458cbd4221207b2168344cfc972a7973c0"
+ }
+ ]
+ },
+ "hash": "0x601a3ae9b6eceb2476d249e1cffe058ba3ff2c9c1b28b1ec7a0259fdd1d90121",
+ "rlp": "0xf9039df9025ca098ae440cd7b904d842daa6c263608969a3c8ce6a9acd6bd1f99b394f5f28a207a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0140a9783291704223eb759e3a0db5471a520d349fc17ac2f77ff8582472e3baca08ee998cc699a1f9310a1079458780b3ebee8756f96a0905f5224b89d0eb17486a02b5c77f6e7764d2468178fab7253346b9b8bb6a34b63946f6bdc2f5ad398bfc3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020886ffffffffffff8301a4c9845f5b6b80b86100000000000000000000000000000000000000000000000000000000000000004d04551bdd9ae08af1fd661e49d4ab662c98c532c7ec0e4656a27e4de7d330af578ab1e4f5e49e085ff1d78673c7388ed9ccf017fbe89e53066bfa4018142c0701a00000000000000000000000000000000000000000000000000000000000000000880000000000000000f9013af90137808203e88301a4c98080b8e6608060405234801561001057600080fd5b5060c78061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80636057361d146037578063b05784b8146062575b600080fd5b606060048036036020811015604b57600080fd5b8101908080359060200190929190505050607e565b005b60686088565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea26469706673582212208dea039245bf78c381278382d7056eef5083f7d243d8958817ef447e0a403bd064736f6c63430006060033820f9da002e30624c0305e64812e1d9e325ba6e50410314634b008edcb50f45be71fa0d4a050e205faed23c219ba15610de2451d458cbd4221207b2168344cfc972a7973c0c0"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "debug_getRawBlock",
+ "summary": "Returns an RLP-encoded block.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "result": {
+ "name": "Block RLP",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "debug_getRawBlock example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0x32026E"
+ }
+ ],
+ "result": {
+ "name": "Block RLP",
+ "value": "0xf96096f90236a09f73691f6dabca4f0a99b05d0a701995506aa311dcaa9ce9833d6f4ca474c162a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794c6e2459991bfe27cca6d86722f35da23a1e4cb97a078103ea8c47231886481d72ec1afae6eeb06c3773ce24a91323d5c9eed69d4cca0008992da2531db404f07b0871dd620a94ba346963e1b1c6dc7b00748e8593a1ea0b6c3890d9604434fc52f722848c84d1770add20cd75bbc28cdedff42940dbb56b90100200800000400000002000e0000000401000000440100000000c0400600000002000801000000040480020840048000000000400000000000000020004220000011002000000000000204000800000010010002000002000000000040a000000000000400020000010885000000000808000000008800001004002010020300005000000010002110410402000000000000000890000008000000000000000000020040000002000000000000810400000040006000004000004080020000000000000022001000000000000840400000000220250000000000080402000420000418000000000000000400040000004080040010200000000000108020020000808332026e8401c9c380833e3c3c846436f93899d883010b05846765746888676f312e32302e32856c696e7578a0112d8f15793e7df7f8dcdb21c891cff78c0d1839cb5b6dcd06116cdbb99536ae88000000000000000008a0cdb97712af6685bb9650d21d609525913293c48adda7c45990926daada335c9bf95c56f8ac82d51f8502540be4008303c9e294a68d4c1e3de1b721ad1356bbf827d6bc8cef304f80b844b1bb4d351300dbc7e12342566318001b83aefc9f20080000f3ef25472407fe9c9c69a1470000000242692bb4cd506c409651ab80eb3acfa54551d3dbc9af4493605d79871ba01e474fb147b16b9538d7a59a57738e406158d9cc306a9062b1b7a9f544c35abfa061aabb714c760f2243a16a024811679d402c8822e8b25dfd0038d84298fb5205b87502f87283aa36a754849502f900849502f9108302222794102554afa6b5dbccc86176faef2b2d854201756e8084e2bc7b43c001a04f2398f24bc950db1f5439de3cf6431ea277236595ae8dc5815c0cc671c9f97ca029898786a59c56f086fc0f7a16859f366cf46084add999fe137cbf43693712e8b87c02f87983aa36a7830293748459682f00850165a0bc008255f094fafb56bb5b37c3b0b0ee9d7c31f018aac91dfb778806f05b59d3b2000080c080a0b069dd8967533a773e592c26b1b36df0793d0b9f6eceba34da246f602c2fae58a002009dab32ab63a25b705d9a00e311f7cd5d85e73f9b2c03ffd0e5135c0bb2c6b89502f89283aa36a7018459682f008459682f0983011fec945b9fedd37f0b92e7e282b19cebcf06f57b77c60480a46a62784200000000000000000000000019a1fcc6fcc5832cd2db7704d75efbc800f5a742c001a0c65eb0e48090a8f8830de47f430b9ad11071a62a5db9555619a990d7e9b81738a05a6e826610a5b2ee529a22942ebcd3abd2a8a10228098c8158380e8fcceb962fb9028002f9027c83aa36a7178459682f008459682f0983017ac9942ab7c0ab9ab47fcf370d13058bfee28f2ec0940c880169964394fc8860b9020496e17852000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000000000000000000000000000000000000000028c5c0000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f168270000000000000000000000003aa4d7eb55ec2539f5305eb27ea42f6f90f16827000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000650cb3772886000000000000000000000000000000000000000000000000000000000000222e000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a004f8666c8e5d0f3c7110994f624d24aa47a1327814289698c3e2777284a5cfdca04ff05f1b8c5beb58972d40e5a7b894d5e28ad2f15a3429c7d2bee6b6a9633730b9019f02f9019b83aa36a70b8459682f008459682f098303644f944284890d4acd0bcb017ece481b96fd4cb457cac88715c0f4db6e0ea0b90124ee1490b20000000000000000000000000000000000000000000000000000000000028c5c0000000000000000000000007847f2e0262512206333ffb200f6d9df2da319d40000000000000000000000001e8c104d068f22d351859cdbfe41a697a98e6ea20000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000222e00000000000000000000000000000000000000000000000000015c0f4db6e0ea00000000000000000000000007847f2e0262512206333ffb200f6d9df2da319d400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000c080a0e5270f6291acc162885656bedf64fbcb904c41951221dc0cbbbdca03bb33ce43a01f08c7ed3c231403b55f37a157d80e121b653baa810add8c02aea722631450dcb87c02f87983aa36a7830293758459682f00850165a0bc008255f0948d247f4fbbe81429d3d164a5c9ae0063210edbdc8806f05b59d3b2000080c080a0bb83dd6181c9a7ae3069af3bdf1820b5e556eaf99e385b8d7b3571321fb2966ba02ac193773704524adcd02824796df83407a42cdd81e786b591eba43c4ffc6c40b9028002f9027c83aa36a7048459682f008459682f0983017ac9942ab7c0ab9ab47fcf370d13058bfee28f2ec0940c880169964394fc8860b9020496e178520000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac6790000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000000000000000000000000000000000000000028c5c00000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac67900000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac67900000000000000000000000062d23ed77d0e5d0205edabe4ce3a27adc49ac679000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000650cb3772886000000000000000000000000000000000000000000000000000000000000222e000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0fc882968005f717a74a2c2fb345f691091cab084f4bd3934358741807bd5a66ea03f81c68d05d06bf851a6ef5ea6874557a221cbadde24f3fa51f777699b5d2804b8d802f8d583aa36a7822c0b8459682f008459682f098303534f943367dfa11e3148a07c2da773e1f65b155b0abe5680b864ad58bdd100000000000000000000000053844f9577c2334e541aec7df7174ece5df1fcf0000000000000000000000000e9e12c660e77a732940bab3c2cf385c843b834b800000000000000000000000000000000000000000006015d637c177581800000c001a0a292e7723d3c950aa8a557bd91dece34ec527d9efe2cc413d582dcd9fc6bf6eba03386ce6f58e862f329946bf32897f7df5d1c8f818fecfafc1223052fb251d97eb8b602f8b383aa36a7138459682f008459682f09832dc6c094ba175fdab00e7fcf603f43be8f68db7f4de9f3a980b844095ea7b300000000000000000000000084a0cc1ab353da6b7817947f7b116b8ea982c3d20000000000000000000000000000000000000000000000068f365aea1e440000c001a0968ed0274829918071d9cef28e1adbf1fd15ec76e5a4f809971e887b4c9f34b6a001ce26485bc7e3ea71fb99866bd43002b264b2ed80e10850203c2f07b78856bdb87c02f87983aa36a7830293768459682f00850165a0bc008255f0946d3b93db4e4078cf6541a68532d00705d9a4da618806f05b59d3b2000080c080a083c831630788e7ee57c87128d18582e29aa51f1f233e91d916c06d0750578156a0549b5a00477f3fb4d8fbf95ba3a636c3a14ff011c1bbf3a717e00d61735cbf34b87c02f87983aa36a7830293778459682f00850165a0bc008255f0940d3a7d69859a0dd6971d39703b15379e05ae2ec48806f05b59d3b2000080c001a0082660b5db2d3a8a58c0b863673ab27f7cfe4c049dcc52c76a00ab45b0358db5a05a7519a2d399cb534480383ac21262fbde2dd85241495d7832dee8bb02c49c87b87c02f87983aa36a7830293788459682f00850165a0bc008255f0941be13f64a2463fc7a76b4092c53328cc965a77fb8806f05b59d3b2000080c001a0e6ee9b85c3b729518524fdaeb25d47f89f6fc6c4d2c4df707187bef74d73f958a0756bbf4ab119805b77466957b5895c1d5bf422c5f65d8a06f7efd37dcb2c87afb87c02f87983aa36a7830293798459682f00850165a0bc008255f094a90b28fd6f8e46ac668fcb688414184a163e2cd28806f05b59d3b2000080c080a0d394dd43c58591e5dda8a7f3a2f4eae1bfd65655b9e9eec5facc6dcb39aa77baa002eeabf3fe9c0a56eae476d2f6452ea72e63a9c9b1180290b792883258f939f5b8f802f8f583aa36a7830283818459682f008459682f1082962494d0f723c6b2226df56fe41e63b9eaa66eb540bcb880b884abac047b000000000000000000000000000000000000000000000000000000000103e9f0f3471dc445d8f209ef546e0d20eaccc12ed0a5b4100007f57d9bc8638dacaf6480000000000000000000000000000000000000000000000000000000001d209b1ea11d77d1ab457eb3e2954cb2b98e77b5b07e2a4f48507af0adc61329ddc210c001a0efa10ab60f3bd1e7c4a8d52a275a568fbe2f5edc9e1eaf386299577ff9ddbd6ba06e62cf2f66b58f655ddd3eae47ce40408445b086f6ea858edb7bd847ee206207f86f82e6e582014482f618949ebf6b12e7e33b8672788e7b2b3330356f6f2c41880de0b6b3a7640000808401546d72a008d6be7aa21be0a43e08e960620f4c40c44010a743ead9919ef9423863c08b12a06a63a7caae4504ee5528e50387ca09974f7124035328a62d1085da2fee6618f9f86f82e1c382014482f618949c68eb31c4d00b94c3e3d4c2887946f8b076b24c880de0b6b3a7640000808401546d72a0c22d48d72c70ccf0a44d0950daf16741838f9333ee0bc5e05ff02b058da1e010a06a20c9f74cbc14c0d5bf3b3c38d3c33a5ace9194cddc2c533afb16459eaa7647f86f82e4cb82014482f61894d531e7aa3c0bee832aaff22642c7a3128d48a81a880de0b6b3a7640000808401546d72a01dbaeffc8e11964c06a722bae73e35bb5de55b8f959592868f2ff5fc13b69bd3a002acadc04665570a2032cdb616de15bdca79127f21302d62db5baf96ae4734e6f86e830176e381d882520894ad346e81c5b26fe563ab1ba2aa4ff811655882ca872386f26fc10000808401546d72a0b6de11598824e338100d5ebe70c0b0f4d6893fbb36f11ad55cf74b2f43afc5dda05101e65e7e84ea9edba6e5bf1a1e07028ae3fa5213240e812e57cf6b29080726b9235302f9234f83aa36a7830137d564748315f52194ac9251ee97ed8bef31706354310c6b020c35d87b80b922e48ed7b3be000000000000000000000000000000000000000000000000000000000001edc00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020c00000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000009d69394bd71906a235f9113cc04321f573958d3e00000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc00000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5000000000000000000000000000077770000000000000000000000000000000191c15235c348207e935e72b9151056a9661d73631d1e2c3f89ffddf8e74efe8a42ab8767076a555a049372055c846097c99e69c26ab0a24553d21c15de29ea900000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000030ef2c000000000000000000000000000000000000000000000000000000006436f8d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d65822107fcfd520000000000000000000000000000000000000000000000000000000000000000ec15abee257256da1a964434000f59ddd45b1ce67d5df44f1c82fd5bfe95c3b31dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493470000000000000000000000000000777700000000000000000000000000000001d4b5b35d93f51c8143f6a4cc3d7b320d37ce03989cd88c28601f4ea94cd6554249cff83e4dd8e99a8ef9004b2ac7518996f4784af1f9e52debb6223a697e9652530feda219f333e01f8cd0b31ee83b9c250ee51fde9718ef5fa305cbcd01901200200100002020000400000280000006004000c0020000000000000000000100000000029000000000000000090000000000008000200040000012004020000800000000240002400008000800000020000000001040000000000040824000000000000002040000400000002000080000000000000804000000001001000c84000208000000000180020000014000000000210100510008000082c0000000001200002000000024000008400000000220001800400000008010000052000200000200028000000000800000040200000110000010000010000001020000210004100002000000000900280000010008001000000018004000000020000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000034bfbc00000000000000000000000000000000000000000000000000000000002ddb24000000000000000000000000000000000000000000000000000000006436f8d800000000000000000000000000000000000000000000000000000000000002e042ab8767076a555a049372055c846097c99e69c26ab0a24553d21c15de29ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000017e000000000000000000000000000000000000000000000000000000000000016202bf20ff78727f38ef16e03bfb3d4895f35cc626f97ede7cc99f48aeff8661fe32015ea8d62ec7a79e01cd398e85867bafdcf55cb6a7121b6fef097f5f5656a5d11ddf336b6879926ea2ae425e91c748a553c9a496cbe2ab556a91689f75ee2b01ad3c43aa774b50a9d8411a9f65be42d6cde781db1a1949a1e886f868917997b2a7122720155935f15da0807d0054f1a4c3db2a92ec4124bf590ce7a16594f3f1812f260acb049d01ad534a937840a80c0f56fd9a54ca5a8628ed896d14a5f8b2570f5813e35c990656f6300a1a1849429135ada6337646248f6ea03a7f70ac426c1d805216d154ea5a8e5ff953bc04b71b049b4b5bd549b6b0cfa7f8b21dba72a3805c7093d8589f2d4c55b6211441041e8bd7916daed5093fcebd377c31e810a6499e6e26840e3afadc9b339c6abc86b7f89fc3559f4242d373a71389db20219195f6e13069701f6d539dcf63a049726cdd8cadc412d1c43cf3fc0095ae5e2157dc668bdb924d7d7afc2b4632ab8a0e4ef71941a0a6a65645f6cd8570302f90b98bbdd01be238dc07780ee9b93e22ab87f26170d7fc5531347fb9fadcb65dc2ca20442a70be9e785292d533fa9496308a7b1588b50b45c17ea765de525259f036edd3984782399b46793acd5abb9f49e38b309c2363aead57264ac1a44e6432b81127a0bfdc29f01bd04e7db2b2545ed8426d2fe9b3e561793ec8fc875f2a71f31c13d11b94f892bb9f96bd2931b66ffa5e22b104c549e7c0d5010e4e70e271d48c0bd6e4be68c920ea77af85d12eb155d9b25703eabbd0ede1909565a55f11fcba848e01c60438611958101321898e95c8fdc936d31389bdba8073b382e5b1e2cd25993ad31586d7525f165fb25a1cf8c22623f983c025d21f0e52ecfec5f0232a753addaad88340ca39f00e9722f35dd25fbe8fdd8846bfc0288215d0638004009396bfcd5e6eb0c587797ae8297decbca48b02407219b910ce163552ed230438292cec430007886beabe7cdf5c6f9c3740a3dd6c52ba88e6d652ce43f90044193c4a42335291795c2cc160dc68b6225edb425a88d27cae159f77df3a2241fbe809c8f1122d245bf439df0761bec97358b96d6653bc83702b559bde5a2d12f771a2a11bc9dc32580bc3ccf9dfacd0a5379587ac5160b45d333a85cde46810ad2875b406f00438aee245ecc63815528a185e9e2a029147db7fcffcb8875e5259f15c3e467de02e035891b131bc715e54e7e27a7acc437bb9f6f84fa4456aa016b3578a73ed8a4706efb935be8b6abe0697e46d878d9c74e274f2816d2fd88146b316731719e125d227e002af95aa13f468a9bae4ff41a4a6036ee7fc321b3249aed4dfb6e75089ec0656ee4e87e1fffefbd74edf55a20d752a85caccf583c0d9e2ef1040b4d36a8e992ad50ce1c4bd2b300b344ca881725c164886a5f8f18035f6e75e67a3eaa2064fc24ff79897edb624e1a67f34deb414d5efaf4c55d482da108aa2ab7504fd5d7f78d91da5c20230380ec013b910b01a26b8bed8a05a004d52db30b7fb01f16347692e9f19f303f48ea8cbbed2d3a3eb277ddf4e9ed8026af5ce92a618c8942caf28b3249044347e14e5c3c2ed5ec0f9cccf1d11a5b290c00773e12c25feafbcceeb8ae6c25a88c9657c627187af6fe0bfea0b3cc36c908a76f90e965bc4135c8596534f444c91aaaaaa6277985e36248bd53ef0f74f103eeac98ba92c5350e4a0c586c851ad25df982e16b2d408de37c687efc6915a41197df379614aa657ab5100627c47896b51b000cb95505bac77e4e440ecd1fe50252fc98f15ee41cafbf717e144da35f424e141639de04ebe5d333e9df8c06821c689d1ef2abbfd12e8a1edc059a9279db7ff44bac1962b5f7297da5c989528229e98a91a3a2e351f371dfa34d4c3676725baa5fa4696f67f4239b5fe1e3fa351d66aa5a2df992426d94ba049bbb4eea0ab22e3b9a7409f2b6719ede64353f4112e4da3919adc16dcd99c545966256493d2699ae529e365c20515d95c013ba2627576fb75a030ffd25b85ed3fc40dbbedbca54427f8dc2255c16b742b3e2b82e1bb634ae73a402927e6dc424d1908942b9b0f2cc17909ed050defe85d24a1986291facbb4ecf9b7ff66c27f8e771d28ec6866e3d24bc97e7be388013df8ba8f407b9147ed9b3581784003a22eeada55656d2be271afce06ef3fca32ac9b77b4f2420d60e892c95418b2a1b7d3dae2738a073ef105e66c08488e8a91e8ebdb5a10e979611bd29245c13cc4c0f5b33eedc5263edd6c27666e0c3f02161114120230511406f9f82102fd8c37c36d4e383e445df4afc6e7dbaa570cfe05b3f6038ec1b7932b70e7b068a2656173d241e8f20bb6be3a3a3767111aa6f459f84be961c2337f6e03ed3cc6c847a3683894288b471504cbdc43a78f856801a10a87c77322e36e0ca426ec67ad3a2a3b79bc5cb81928a79a67a0fb46bb967cbab73fd36022f92d920204de61717dde6a85b7bcf57584c11ce54ac92998f856bf042a01c5006f155ac97d6757728caceba5530eb745e72277723ad34268b34008a97a27c370e9bc006aeaca4ac36414f35aa41ff400f698623a447c949f7f004f3c3fdb09f2af3c96042e215f0d4bbb23fda72d4f01dd9a55dbdec930919715a23e2cd772a260e2b91324c244d88ce1b83c92dce1aa0e0c255b80ed9325dec0e677563984a1c559ddb4a544eadeb2a38e8ed7736174a30d2bee6e0b65f3766e0b7a4e4d8022dd9f82493a9b1fadd1907147ac29edeb8cf8c7c58fbfa9b82ed3d9f9f05bfc900e52e29a05ca8d445b5245b16928dd61800ebb63933d9c471c2fb38776459641e9debdc606abf6ccfdf8fb41da88ba0745d96fd4557a879fee82e33df32d18b18d7360529f89f3dea680a5cb0c6a7652ee38589e1997f3e64ce4db1d3c04cd628fc0fd6e7ef1944108d48eb742a28467fa4bca693dbc8f923945256da2a83222d172286c82b1949803c54409de4653f258d0cf4266c83d5675ca9b5b3a3fb322b9c493ed7bff0a6165babb19c94d9e2014b13b099f09894fbcf32959b9d4ce71ddf9d24dee8bc40d6be92ee6e1220d84d68ecf1a0424132315c0612802b477b0acabcf346b0ad5ea329ea72f4de7524530bc00ad36baeee835908655faecd350463484d31623127c09c6cec446a9ac9a53cb6841ca2a097ceef88e537e209880ffdcfd5033bc3f5a885c271e41ee332366345fa867780beb3c1d5eaa496ea0908c560e84b404afb45f69169d28348ca20bb4f5693db19304d154f60a91ec4e9255be05739f5dc7e0b420d4bde4b188a8520bf39202f81dd3e2f4adcc6f4b4be16880103e0ab232f509729c91ddf0006d6a099a769b38affb89d7489b3bf261106aec362c77acdbb0a71c3da369067eb0f2ee9866a0bbdc4ee41ae81a88d860f1784565b7b1cdd350e8e12241103ff9d57c86c368775530773bafc058cbcea6309bd6d9c144cf6657cac5084ac5fe63ef038a71b3d79e6b7a32cc70039e182052f5cd5e415128e9ab1f553f13c165ea122d089975c1daf617766e12d9f3abb2501571eefde182b767e4b63568d37a8c553671adcee2ee4c7c6d77493e4599cd70d002a718fe0d7c31b7df3893f8b9993c90d7d55eea1c38292f1eae3a7887cfd182977403d5c029a42809f2c6fb8d04aff1c60106ba36367ecca0699866e5ec922ebaeffc4e624d0cc2c748f9c446da0c293d8ba7a28125145ce0936a2dd47172c4502ccf050145fc0584ad8608ee8f6c34c3e718fa5ca616722c5b3549ddb5e2f6a96e82c3d706bf255afda0272c199da51f9a4a869ce8b164694f6ef7593ce08b4bb0afda822eed4a0a7863f532fc0a22de9de5d3456574021b711c42eb1c9190de35ea592568f8ba5528c0f5fadc38e10b14a89a1e49fba9a76ca2478dcca20f8a3c78bb3e1b9869b7375d0deb87819ce7209ad4d73d84a92d08d23649bb50ecb4a1763050b7860afb055461b3158647b453d7977bddde0fac9415327e7eb2ea373fc8abd6793f576e72a47c92d6f6e19fadfdf2c6912365b74929d9b483c19f5146ac5a8dd943caf50b2e0a95fb19066a63a71862a540b2e41731ea66697094e51d309589ce9d25a37c06c9a12839c4c08a050a3ff9e502514f20d573c610466ac5399e11b0153954428f25d16958ab48614d34f768991f84411c401e6900fb0dfaab4108db0ad42fc9ae0a255e60fa4d92747ddda47d07de9f847e7a2be289798c5d34924aae419abdc41d30fb095c6ccabe5c5d5be73ec6197371ea74e08f0583b21901bd748db5348282cabaf57d883f5c55311f1304d7fcd30a9f0b22f810b1a7f089860e4ca0f23ddce9a23d7167762734b10b995d5bd2cf3b31f8f24b18d0a2f7ce1101d3a32d18988f162e91ac94b0f521f24fa287b0d2b97c408079336b89af9e842cf31886c701018ba98d5b0eb0e6d41b67b499f4c466cb1412db0e5937f7ffa83426c9234c713096444d0fc65d1b45f166e54d2a54bc103de110669fbc34555a6d16714ca37651e976b06a7ee96d80af9ff50162016a998451e2ce5819f3346b1fcdf6fe9ff3ec8420d4860a9980ce28fd8c55660983a3fb02cbedb5c638a49e5cdf0b69b71d78e071f1200608e235e6ed0ee8fea5567be12018bcd026412db0538c28bcd4a9afe799d5c677298646943c4200a039d2fced71d985d188f84dfd3132b6a015c50b8a60d712a97c89e0cd7d3a1740244c1522b117dad1220463f5d4af1004c1a2ad6b5708d7d6b28f8ae1e1e7dd1b2d3798b8c2e27a3559c7202aa268099eb3bbdf7c42d0d20b47e5623dba8e6aa1392ff532113c32bd836f4160abb287aefe648aaff6bb0a23928f580347046b64babf354790704538c6ce83f117ac7e83e1e0f54054466cc82b2144cf135be31f24f1b224e2a956827c303b0d82964e284b968c5ebe97688e49ca793a4aba81a3d36eefd8c12e3ce9409be63c3a308636a7b296b804d8125b4f29068ef44d3f2a3c9eb13e61d6365bb96d6973e88a70757b1d9213511d357d252df58d1e848d534d9517165263e803855e8caf387579f1ff0e7e9c3c8e532a2025d8016b70a45c24a546f0b21acf38d16b27eae6466e22396097090291184a7719beb4a55beb89275c6893e01f2075d3b73e165c39335d34a5aa7b280386e30a6df9ba917e1dc6774e2edaa0c87e8f5fcf89306a6fdbcf8cf52cf25f5df473fe350325d510421546765acd00b34ef53e56b01445deea042282e7d6ce20c8f967204c26bda9f2596fa378dc611091ab6db9e1e8d4e9b5c1cc4c4d6ee2ad82b32d08f8cb5a9dd9b03f7aa754f2738ddf2dc0c3318974ff3810765917c251c74ce3d7132c26b5f2ede12a6f62f2e8ddecd5e0d02f99f2ed8ac15641c586d68e093fbe80cefd6a7dbdac6d43e261160807eb82fc2aea870a22b25148d256a083325a5b97bcf0187f748b6c0a1691867344efdd53809fb9edea57669c33780a4aa9e65149937817d3d845d9fccae1876575d5383d06adeacd0f3371209a30e1a9c98446174b0b98560652d0643f120bdabd5484435871b42ad0ce36aa8330c7edd26e64e89eb84e0c72a2c6e49fb24088ae2bdaf7ef07af9bfe381dd6a9ed430a553de1bad4dcefd5239b389090925a69e44e25800d9fccda11ff4e1e4d3049386397f1145c3595ab5115255bc1c1eabb379a37504eda27b1a103b88ae8f174e1d182e3dfbb0b8317d05d6e08c191661b04537421fd84057a9ff5a6eceb68c5bf1f0e356df6e93d936bb6bdccb42127cba43e7615d522242df13f08e5fa162a641430c1431a7d7181dec65202fb618a690c2bf3361d7dc689d5e4a97a550a9b17c8a5ada8f32db3f774e9ed047c02eb7d1ba7add29fa07ab90f290e77bd91ee9b5208b1fb19a37f29dd1a492fa32156a7d43146a336fe6144d19228f975c54ab304565269124e069e864873c0eef23f2e7b012e84ad0c71d76e1b23b8b9a0a66edcd59f4b203a9773ce26baee206254b49efb10cc48bad814b2e299bd478fd4bd8b1ae2c8bd99070b259a9e204e42fc5f65f9e25cb4e4a1a3b67872314fcaeede2abbbc6978660c3e685f6dccb53160d1f7517bbda54177495c23fcf45cdd66363a70a84f2699e239b5071c9e6cb19069f3e0be9f4390c8028ae9960851e34ea18ff88d36ee826c0a4db4e33e94f0ec6651a728a1a2b0c15b30a1783ad4b1d224d87264779a817d107d40c75b77c25addd7b7d6a8b73b2d551f125daed95786920c4130d2061178604f9604a0e2f1c6cdbf3066fd28bf276ee0aee379bc049bc8eba361f4052bd2a698da312c991015c0fbc43ea1d2e72426279fc5181851a15a2f4883018ab01ff8745625f388f05f5fa9abc5d87a710a1227322626115b60f781f4ddd91e205c1cca582a5e37e005396703375846be4f36fdb76c277dc1a2ff1f183cbafc6db485a562f4d08262a207844a3d12261fa0ac479abca76f417df42b037e611b1b6acfda94d5dacc620c3edf5744db24bcc41ef1722dc0e620f8a35c50585a7cecfc97f05bfec21f919420e62a9c4f28ea9585cc056aee08ed8891d077a9647d9c0b5c3141f8c517f13b05bf0a18b99111d2d6e7b4892e78fab35d882e4e153060f0c44cb946d20ad0897a34d2a24d3800b54acd68fdd797aa362560dcede6d12909948bd6f4726a20142eec9c6b78d224b2c24885490bfb492217c6809e0628164579d2c2c16a90f28aa5393ad44c45d4e1500fccdcc684023d7cac4e2cca889333f048cd9a29de018e958d00553c77c74ab50d974df5f654233fb923e809ef6ceabe6a860386603003cc376e90b8bee74f2477343a5ae923aea4ffe99a91b9d9289ddcc3ca316b026b3d369aca474b7941588fc6e9cb062528b10f13b90dd55afd64f7b0ab79163163ce02aed379af25740ac5e37c5628c0b868b7ccfed0ae521c964846f0287d3006952539b2dffaf891bd01fe98a1685e71536d7f33ae85775d11545eb379e0916be616206968605e5033267f6f79cc651c2ce71a790ae5cef19fea7604e479c0793f82db1f8e85bec40d8c6a2dbc9bf76d02a616aced611ae1a7a3756d87dab2855ca585d0048e1e4222ed9d6fa24e3e13677256fbb9959b965727c192696a11474a7f6a6b6c8efb649b1f601c76576f36996ec7a20eee84208232c20e8502903d4e303e4ad7139c654b7e5d2aa262d75672cbb4f653e62ed8e4d28835f7d6d0efb3f39c40558d9cbf19f250681a5c8a59143fec80d6a69d8a265835d6562ef248fa4ac508bd60c9283f6e731baa786828d0f7a635e1d14a448383c8b0243570df4a42799afe03143c227e3fcf0b1393bdf8bacbd26f1041d5e3112c84755942fac77981fe16f048cd882243a8787b09bdc38847a5a9cc9aaf4d30544181ff014dca8b2892c00a933333df6d8ef79041483f2d8c6416897ae7897ca1da85e8f0a493be4520595cd0dd7d32c87999e703704ba0ac7d8b444dba807746123100e2cf7573843a0a755eebad6045d2970a0ef8c9adddff093e79731d5e506f1c43318fb25144ff5fb63041574e89216ebe0ac75d7dcffc35d095691723493c94dcc11d4480bf3fe7b76ba53cae5b409c002f2d1bb5eab08ac993054ec297543798700fe3e2877a4a0cce53599a66eb4f1fef5cafc774277f0e694ebd7f8748fb5140735282e5e0b9bb35b8aeb098775a33820c9b8decad3ad6ce36f79c347dcc2c60a5442d2eab4368827acae1f0ccd52f0475fab95ac57c3c9d7c2649d355756140d5a1e8c6eab8b67a5c169cb899230c4be1dc702323f2b07ee1fcf5657361e250ccbe93bb403abd857eee4335e454e8485a3b055c908c957dca3f9a288299729216103089910386fb994285602ce12b04be1819a2c80394b2410767d9aabdb591e4c4dcd08d1d5bc1bcb532496ff1fc968ac3ff59bc7266d8ecbb67f34b681331685a99b781c9752dfe83d145bd4f3c8ec634f028e850e246aa81f1d03aef40d000000000000000000000000000000000000000000000000000000000000010cf90109b853f851a0bf32b9037b600aae3ecd3dd1838bc9f18ae1661f615cf3d70bc270b6c31f55fb80808080808080a0a2381991afea644ece5cba0d8d69f838f7b123d2e0057a54509e0c61e8b293028080808080808080b8b2f8b030b8adf8ab8301edbf808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5830518dca079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05f3b41e975b46e86d5365943cfe25ae960fc2c7c1bb4eb0025eac5eb0bc6639c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ebf901e8b853f851a0529f2d89256fc038782a4d70b40bf127de906cbe211e7acaa3e928e0fd5cf11d80808080808080a0b4f4d0be01c65da5308bab41d52d8a7c93a1693c170c44d1f619b8364d40e3428080808080808080b90190f9018d30b90189f901860183039445b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000800000000000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320266a0d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000adf8ab8301edbf808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320266d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa5830518dca079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05f3b41e975b46e86d5365943cfe25ae960fc2c7c1bb4eb0025eac5eb0bc6639c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000189f901860183039445b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000800000000000000000000000000000000000200000000000000000000000000000000000000001000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320266a0d6b1b655f66cf8f99d35432492f8fbedfa97a2a48f0efaae65de6738e2594aa50000000000000000000000000000000000000000000000c080a0ae5e67673b90f2d6802e8dba26aadb2e8b81e059d1611afd1908e743e3c0b75da004886b0ac3a810519aa2395bffdd94fbcfe4a2de989ec95d1aea0fcd09afd931b9235302f9234f83aa36a7830137d664748315f42594ac9251ee97ed8bef31706354310c6b020c35d87b80b922e48ed7b3be000000000000000000000000000000000000000000000000000000000001edc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020c00000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000009d69394bd71906a235f9113cc04321f573958d3e00000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc10000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d674400000000000000000000000000007777000000000000000000000000000000010012f20d5ba20a09e185d452c999c129d712b83c75480e2e029fc895986d361a781b2045b8b5226f9c1fd712d8b1a5f1faca84f5fcee87a7d1dd2b57f55617df000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000004f9456000000000000000000000000000000000000000000000000000000006436f8e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d65822107fcfd520000000000000000000000000000000000000000000000000000000000000000bbe20eedcc0216c615d3a0550a5507bdb2f9912eba7b608300486e871a4e42491dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000007777000000000000000000000000000000014852ab81d236f35c396d4836a6f82239f5672a4b6136ab9ebdd8669a9f9e831b87a26944e5c04f16b79426135ac11b155922c14178bf3d1ecbb1fb12ccc8119a22df5003de2d5956c745f9e825a8f0ca1bb1e265d4d431781b00765e0fe37280000000000004a00000000000800000020400004002001000000000000000010000000002800000000000100009000000000000a000000050000010004020000000000000000412000008002900000000000000000000000000000000820000000000000002000000400000000000080000000000000800000000001000040c0400000000000000010000000001400000000081000001800800008280000000001200002000000000000008440000000000001000000000004000000000000200200040028000000000000000000200000000000000000010000000020200290004100000000000000902080400010000001000000008000000000020000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001edc100000000000000000000000000000000000000000000000000000000005364e600000000000000000000000000000000000000000000000000000000004456ed000000000000000000000000000000000000000000000000000000006436f8e400000000000000000000000000000000000000000000000000000000000002e0781b2045b8b5226f9c1fd712d8b1a5f1faca84f5fcee87a7d1dd2b57f55617df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000017e000000000000000000000000000000000000000000000000000000000000016202bf20ff78727f38ef16e03bfb3d4895f35cc626f97ede7cc99f48aeff8661fe32015ea8d62ec7a79e01cd398e85867bafdcf55cb6a7121b6fef097f5f5656a5d11ddf336b6879926ea2ae425e91c748a553c9a496cbe2ab556a91689f75ee2b01ad3c43aa774b50a9d8411a9f65be42d6cde781db1a1949a1e886f868917997b21ad05b7c1eb0d208d17426c52831c6347a8db75b12bfeb2970c4dc6666e4eba0492d2ec318089b11ee7ec6087ab6a3df335770526cc0c1679b764d847b4ec1e303d400c12e690aa26a3771e5676e7ac95e2dc7a1b33be698f077c598f880d4203defa26ad36b84573e923af347475c7c7671be245e9859ca1db3c047faeee4b1c0e81d8a92915c2b94ff300e18f77f70ffec15631161e0bc3cdc9143c43422c208187652c1ec83c5d282e10587216eaf56689e5fe236f72c13eb9574afabc622a739cefbbe11aaa4e2e3d4c5415818914fe554a07be374f565d9bcebc0134940e8921b87bd4f6b42a6432e6e176be5ec82bb8eb6bdb7e4acc1f1e99725bd3ab2e3fa52e02c2741dfe6eddf5a3846dfd57f6a72e834faa048cb007826a293d9e163d47f9ea635871b25afcc3561dfce77b3a2604b3c8de90aa24916f41aed62d2e0c0d18f9c259bf614f1321c5b7cf7b5bd73cec408dd85f046bf36302e20f3603b7832071796022e893386de4e3b170135a591b1a44117240ba85876dba586b1f31c13d11b94f892bb9f96bd2931b66ffa5e22b104c549e7c0d5010e4e70e271d48c0bd6e4be68c920ea77af85d12eb155d9b25703eabbd0ede1909565a55f12f7e30e74b0329222f6067cad3b4324a80f570506985d729f7780955333f40e615f065023fb607d975d7a2b9f234137e72260d8f6b586baecf42819f8328dfb3304441f2c9e97d1fab9a3625073ac3d2bff6ba2f8d659cbc6f66e8d9afde1ef229ff39bac1ecd65eddc4953e2726a72daefa76f00d58e11c9a9ba3448fbe0d3a03db78d70ed9c574ddc45de5c73efdf3113ee70a4b42cea9884f85c1b995516912800abeb70f3022d5de6d9f49469161a36a6a309099ca43e388908635ed4ae825a14b7cf5213454a1f345497008ed417e5d33ef84c4934368b36f27606072192a1b43396f89647f0541dd25f55b42c5295d3ab2a22355664608b8dfec3c9d76045b27d8c2bdba7f376a44826bbf4044aed0d57068489fd32a2bf52f8613aa150185aafe655d2b86bf8867a6f7728c4133fb95776545b19767a0d7144f60f5ef038eac390d1cac6f9882211d7302137efc82b93b8f9c55db629f47a2c61931c21d01d5ad967c9dc6c1abfd496a74df2ac4714cfb027bc4d8c0153543ca663ded2af64f7396ed3b2ebd1976386814e94b7f7fcc3a19a4dd876288b905c381bc8f008de145083d6404890a863e1af1dd897aeef2516b20df50befb6c708c9728a22cb31d80b0e953aa71230d2462bb0668dd8701e11bc5240d85184f9298e2c5a3257b5dcc3e138df8b7d4162d6253fb5c21a65e952600c8764c613c6f43d22c861d4380cd688c286e9ffad6bb8582421fcab96b075769cf48b3160f056dfac4041b08287533a769bed0f08fdee9a16c5c8f414eb35830793c7b64341fef79dbc529a7b99f85d4e2e88b64954be967c5ee6386f9131b80b454ce70209f78f2101d0ca71da273735bcbcdc5ea5d3d54b607820b9bc852abb1b733cb7bb5018276d30c4c0a7f9ffcd318499a2041043494b82456ca8ac6f07678a8b770329b7c00f31e70e97ce48bc796570be27577e8986ee4c7fa51da44bdecfddfcf18686cbddc02ca206d9132d451ab55cce8069f631412ad2ae02b1a8245d31c0a65854d07370259f632fe253b2412c5a785148248d660d7cb6bef5240749d6ac4a4ac59384b27e7019c6cae15ef7c82e5a952f4da079b6205f9e16f3d3c84e94b490530c5b602d4bf5e9d34f2a785cdb7f7755d6d467a9d88071bbdf8c79195730db7d0b7872cbdcdabab02bd4b8487b726c5ce6492344ae7e900a21893e7b840b46380ba99278ce95322dc23daa97995d1149d425952913428c8ef8659dd2cc2895f12b08e0532a254fd5674fcac1b0992472ef75337d8d77f6fef3720d4b7b17302478c7d2e3b8dec7af4c681aba5e25d8aa3f4382b0082066c3f7a0b4e42c4637df90d9a1e2f3fd1cffa7e0d5577f5da89353521ed02cb1c39eb5746cef10ceb74c3fdba13199b42516ebfe29af40da64ad81b46b7bf04bf25994255c7a51f6839848810025bb52fe7500cf1ef628a07747894e3b73d53e6b2997d0654f1ffd0c070455400fd7e9d670984ac807a0f8131977ed1806fd3c0927c34b7b4dabf011d31e86b1b7932b70e7b068a2656173d241e8f20bb6be3a3a3767111aa6f459f84be961c2337f6e03ed3cc6c847a3683894288b471504cbdc43a78f856801a10a87c77322e36e0ca426ec67ad3a2a3b79bc5cb81928a79a67a0fb46bb967cbab73fd36022f92d920204de61717dde6a85b7bcf57584c11ce54ac92998f856bf042a01c5020d266b1ccea774955484405f58ad161251d879a87c43d5dbaecd976ac5d04dd2586d70031a86b0dcade14028f36a04508494c7a20e98b3b21f7765e7b3ef68f10960709e63eea35a26ff47424e18df8cc271ff3049262c855d6a131695a395f2ba2f1b039012ac8a2abdf6d9f6b0c432f0ae78b9bccb99f89759434477257ce1f44cc61e95b9c9843ec8efb17c640fc4c837ec125fb25323d3f0644615d21721607fee4d68e2dc9bd29f5b13fafe39b0710d0365dccda35e3c937aed1b6949b2a0a7523011eb706357b85e174376ea7cadbd01ed0dd1bc6a8e5a5a11bc6131f0661dd6365b13c6e2de50b98cba1cde58a921d19936c711424eb625b7c35cba01a0f7dfa8d6f86a2a02425ab48e2c28f8f2f61adbb744c221b9c4f35b16c749c227bcee1202e87537c7441f421c855ce87d858a679f09dcf814bfa1f26f7d9ce18f723d2f84d4b25ec60adbb6367e92270836d03c71ed43413767342a4fb8d6801b8755bf65e7947ed4459ad6486fc1cca1f1cc89df3d307f01d8ac68aa1d08d18aa35a46bf245589c599eddc6337e764c36426f7b7f5d2afde0a76fd3aa536d1a165f9f23cfc65866f574f2289aa5be056dd32c72a204ba8328dd9b0b4643790463484d31623127c09c6cec446a9ac9a53cb6841ca2a097ceef88e537e209880ffdcfd5033bc3f5a885c271e41ee332366345fa867780beb3c1d5eaa496ea09160db3fa7477a2fff436ecee95aa2d51ff42ca9d4fcf021b6e501410fd41098a1a8f6021636ece98c27bd74740b7280d3a5e13d9850fcf7f2118c4c91572ba5826fcc4b0837d0b394f6683cba38fa35a5e2bd242041533bd25939cc873d1f5852a2f57cb172eb17c2e3c351240a0b2b334978b90ac18041b09aead26649b1c1c019e41731e77c6b2211d7da94630507bad027561dc625b7e84094378e599a57b09eb32c2a67cf5f2f0bf9250e6da07b165f97dca10517e9f3fe3561d02ec83a722b544bd6e25ef27d9825d13651443c4d984d7e5d0fd70c2a7f983b3ae8c698d27a2a0bf2d35655f477adc99c56f48773922831746f8af58de941a020986ad7c23fb7d31c2f17f305174db26b40447e64c66216dce98e7a8316dd91dee468e602206a4d1d18fa7827f733037fa87dfc9c74c9df0960867087c776382b94db9420a19e5338e17e8a68cb7621f0b56984610bedd3d9b77dc5447cdb129ecc33596079cf206e93904368cae07f0d449e2095f8abd95f26603d2db047647babc8342200be0095aa5489fd18cd00a52f59b70ff04c4b1e572db76d08bad419abbabb00b9e485e3f017807c12b427b5e0e648cf7b16065e313c1c073ce354a5fc6812c02b8d4b6aa1168c575dad9875087fe9f61702309febfb99b895387cc1104c35e123b713019b5e51c320fc2521cdb5cfca20f617773fd46d3872128b87df6f66a21fb3fa16711245ab65eef629c5e6073efaff5b707657f4442f2eb2637fa71000f14fc691a71aacf902c0c1a1a5d7d8d351b8b3cad57acd0a9e47a1abdcaf2b70aed8b7370a6bb2bb4f3d679c4f9793e4b256deefaef1e6dbcdbb648b917e34822d833d2ac1614aebcf360d328d9271f27c52c93de4a9455ce6cd8d2140ebf6b21c9b172cf47556efc5dff9afb913e328a708292bfb65c96d668f4d0b3a9a21b222039156cba9980d6bf11efbd8dd893378e5dc1b323c57d8f702076c22d125d1489bab2553c5521631c35f7b5236007ce8f37012cace78d6eb39718904b5dc31ddcb6f4f175e52bcf6c6008f6f5a572925600194b9af7ae074dbf85119e3afd141b2ff2652a58f043e97f11b77997a9da1c96c18b5254a107f24e997a3ea61c2069b9d04d49bd1bcd2495b19bc71848f28bfb4f0346b682a1b474e040b056e60a32b5e8aa532103101cb45ca41c6a690c8688523b8566d507f29eb44fe2d2490e81f4343ca61c8783b83e40e3ce66532f186e9d09bd2667cf974a763072a910121aa5e86e151d92a868508b680f795bc30b4502769f41e3afef5f321be9ce2f1cff3eb3308d65aa0ed780cc889f605f35eb5e02ba772d08db2579f8561c61fa09a8e23ea1416fb95ca0c7e139ddd16f04b0c872499e44cb5a03868d6c5fa1300c19a96b8586b8f33bd760c6350713696b7d3236acb0eb35bde2e6378e9ef9b117b02290ead7824d42452e332f6ec95a7f871da9ebdf6ad02c959a1a36ba33ff0089a4f5217b7bfa5379a507b1e994fb7b8fef489f1f2cf6fdedf0e530635ef31faaa1a37457c445836376dc5cdefc7770fbbad8c326955655efe4ecde89bd2f1dc62a2551a45206fd7d42605aa1c0fc80476b741bd7df1f0f2db0fc387614240e78427bb3a8cbbaf9bb112da06ea6942335f88c65d42d17816136509ec39b51079b5eb2a8cd15c3d1fbc56dd72c3499c101e2fc9126e8f194c6c8006faef30917c5e535439c6b0d78be52a4d17a3a25d0878649b668db027eecbbafcfac7a612138c77d1511f9cc5e763eaddbad6d9d8770705ef7b4d062b4c6dc72f30d1d272dca8700ae03a4c6d2cc6a0a03f9bfb2615b2b294515ca80827ec9cbaa7746112530f5e70f236a641c05bbc8647dd130f02db3561f9dfaa1d687235bccb0498202af478a6070dfa49df99785a61eb5fe5f18777569c18b08d2042ae8639abbc225b832a2fbcd95ff43a3fee4fb2962983af8304ef995716110a7ad35c538697c109c01c427ca6cefef3a842fcf74b1c49a3f2da88b85fdb1d05e20cd567538942fa2f0ffbb5d2ff73d60d562d9a0a6894bec3d85a709b43e42ab64e2306cb96919e078b899f3155af56390d06ddc662afe8d2c91fc091e2c5cbbfab3fdb3f49423a5a5f7741f2d70c6736adc66e7c2caa89c6bbc678bb4b445a8a63d120867f01f164dc87adc853633ca7bd4b9d585c2a637d1469da612b5210476fc8d66f90029bdbf7fa5eddc8335cd23deb4bb47e1582e64a03dd021292d34435419af80af178cdfab0fb9374fa0fade48108cd3a571b814231784ac37c9f6071fc6ac0bb018595c9d8afbfcd6f31832b2581f7f7ce7c45d22817aab8ac6df0e0995e12dbd1595c3377b707b816c96ceb1893b9e7c747a577bb7540b89eb3ff7cac878a7a121a37b38fcd3248abfd24b50e25948dcaeff8c1c7ab8b745a93adb87cd54fca223dd940ef4d7eca9dd69243c74ea128ed624e52c7a2257f3950d0c7409d665d912495f8a8a2cf2482c1d51cd7793d3d31f32ffc24374d8606daa2a423931d97019ba2fd3ba773645b7fd01cf75e8201dd29f694a72136b585d940bff8867654223c28d0603d85fe4472d93ee30e35f46e27b8f40f9a9ad03992d9ff23305fc062c7d95971baae1ab074df88d41e09ec9752efff012c482e0cf9aea2b78cc26db146a278d584575ed615f5d168e6df7a832322da093f0aea706cee594207427d3005fd910843f3dc54b14f8b187e3b495b7474792743fc2e43f62bbc7fd50a76513f1fa4073b15a42d1e78a708134238f2521c749d086deeef512823b514aa64122b365efd51e11415de40826971c234d571c3e2a0507226c6ccc540e43a9aa32244b29784ac824c20d3d1b72dc7262f61cce4eefbe9a4ea4cb1061e4a71925aa13f31d6ce80bb7c56bf47b91cf107ab17168dd4fb60614757d7c7f4ebe0320692235fb502621ed9b15b9b3fa23aa1bf266a2a2c3f2386b52625e42e0cd85c37319e3266185419bcf6dea997e52ec8fca5887a68530002fcc5b3619e88d4dc9a918cc36bac2416ffa9b9734ac4e67a93a800f36d7aba4ecfed8d65f62cf6ad13d184a8c6406e3ba17b8aee6af0721ed091e1d225d044629a4ef5153c294a3e87e243e03bdcf6eaf7ee56d9d969a1f054d5774a7e2c363b160386b909c89717aa7015385f4ab8b6c97805c12c37d981ca945134cb1306d39a4d136b42c36d8aacd2c37575a11b17fa50ede8072d667f64bb55e3b54aff2c3c61782e442e088db7c1ce62287477132bef00c17e9992dd42f35b5e098eb97724fc4e697d75812635203abe8f96000d9553012be065980fb16d6d1c0c80457585c6eb699b0e8a6e36c1cd518dd1ffc517afcb9114a4ff629d06cd2f0be1495c4ee09243e96529e6c3a228c923ca2a703930ea94f7a5803645324ba9ea1a08e6c3241fe57a80bd24f780566342561189baed15e85ba9257b701d651754ff534e51279961ff379974e34010d80773b169a140e0ee7c5e2c0312c9dee46fb7b309710d448a43805c7eab513e84e346411b7145f77ff4ced7b32eb641528f78d88af0fe88e0840e9c16f2210e18c1da605bb04a4c963441c06fa839f722b0c67345168bc0fbb1c826f20472c7551a1327eae9eddbc24e63814fb81320cbc6f03488d64587f3e5f53c03db02cb15412e622f9ec9944643d4b5530b0cd4d577489d8ee499ecf2b74fb72423412aca8530fe53c3fc584ed8e39f900843ac73e36fb113c343cc197cd689a09e12f29203c1dfe839630f6932f3a29de81ba787f6044e70dff8981b71fe82f8a4d01f45770a53b090026a003b3e639eca0e6a1e5bdd0aad456e89d83012ea1f53e1a5fe848b33528f7195a7b0c36d4315f1b96b62d5603e87a13e12a97ec335e3922d4339d9575cb26d5691da78a738aa5c84aecc22a93033a6912f84360d13e2e23b0185bdc2cd331bd26ababcc91894935db5c7e1800b8a10db884a7614ceea91f38bbf623c5e7e7238eef06cd9fc9e43507c56e8d6212b7d03ef2db0dfceb040c0b206e1b7eee6ae564b15e4c02e9c3e4179d78bc68a9fbc2166cb8458342f218dc631705602b2ef1c6716dbc08f30810c9e2ab3ac7a03e300e9c21cd2a0240025ed5eda13e6daa246241669acfae65302dbca5c579d3b5c3a4c16a976209e22845337f9ca033329f849f3ccebc69ff01b301d99dbe9e79058fade67bf881c70283f41eaca130d1423e733ccd520f26ebbe8d304cbb8fa2f4bf67e2e041e5e90e840d5510d33a9f700219fbead699901ea3b3f8aa3d5ff0c028ceee5b5e711c29e7740bc98f4b78f15f2aa1e01449f1f15e68023861f540d2ae0541273c641914ea0e6abadbb2f11618bb678c8b7abff1f6d4e9f789706cdbd8dcc1acd4bbd506e42e928d134366d3f32d8caa4b86736bb065b1a3f89354835b7ba5ae1e53cc1bd9f5dfa3e0d49c0a0a8d32670c382712e30f8f4cb8fc980785fb6012df752e02c923d3f56f5764a41629646f9fd7641c8365f0917f85a64d0ba36179e2c2b3045d7b3c6ccfdb60cd5c365c43d88e231465c6616f7d2cab0db88cd79268e5ba0cecb98875958ee3827af7842e35d9cc89c3776e5640f2433a6afccf0e6fff9321e31802746639bf2bf77f375dd6799baa184b48815f24d3fca5d534dfe61d1306d15e97d3a320457ddd2239cc52fb31dbf98709cf090ae59afabbda6da75f4e1373a28bcadc2405e0a7f6dbf9a3e26511fc600a496b4623593213283a1fd33f000000000000000000000000000000000000000000000000000000000000010cf90109b853f851a04dd5a916917c46969db2e2093e73972daa52d5582e183eb0bd08362e7aca1dc280808080808080a03605d0d2c4765be29883abb71f1c4b162f9d6786835ccabb068a243ff819909f8080808080808080b8b2f8b030b8adf8ab8301edc0808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d6744830518dba079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05a4ba290d849b719839872aa1e6999ee672fff37d450956de85fe07c96f172d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ebf901e8b853f851a087eef6c6fab228bc280138441d870592a3910f042806b16f257faf5f1542f9a280808080808080a00ac60a3a5bafa4560edb7bd978a6b8980fa818c5edea7c010986328de4d9b4ba8080808080808080b90190f9018d30b90189f901860183039445b9010000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320267a0dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d674400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000adf8ab8301edc0808303d09094000077770000000000000000000000000000000180b844a0ca2d080000000000000000000000000000000000000000000000000000000000320267dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d6744830518dba079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798a05a4ba290d849b719839872aa1e6999ee672fff37d450956de85fe07c96f172d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000189f901860183039445b9010000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000f87cf87a940000777700000000000000000000000000000001f842a058313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691a00000000000000000000000000000000000000000000000000000000000320267a0dbfbf2c535ffc52117d4cc616b8d97bd07cdd8585ab67d9095c067e9de6d67440000000000000000000000000000000000000000000000c080a0d86a71e8e531bae3b2a2e70d98e516ccf31b6583d936ffa31c3772ac265db828a0420f5a8067c7eec5214117647da149eaa4e7c78a10d8ee6fa62001ee1b680f9fb9060002f905fc83aa36a7823d3f647482a9c494bac000000000000000000000000000000000000380b905930001536cb8da3dd105e94414690798c7f100000000057b78da8ccffb3bd38b03c0f12199bb964b426dd6b091efd7dc3ad1a9d321d1713b2ea1189d39280b4791c5c858729090c3b6182ac75951eef74b38191686b35c4669656ca9dc5a0ce7e9399f7efffc03afe7fd6e7485887f6264e97e9856a6978b65c5db3b4ce57cf4812abeba0de10d0d6ee5a2cbc9885a2163a58d1895524adbfd86d795eac74ec74d783b599861bf4b7b3e6daf70b3ae0e5740c88a4dc15b893f76fe074a718bcead52fb2a06d6e5f1cf3ca344ad05dcf5ca10bd9bc2809cd8ecd40a2dd0e03200dadd8f921f0e9953a7e6d8c7dc99e60cf6fe81465175e0cf99b702ac6a13706e64ac349a1119796eb0b6e7d5ae48ad74a5c997d679ef9c637c619587cb98ecf88e620dacdc57701500c74e087533f978831a78bf3857cb6044a8c66e41645cdee74ac7cdac69a8484083eb003827ccfd6b92c77b7097a15f38a419f6f0578f3568465e6fb639f1a8d6e52e9d17a0413100ca8d08b210a2e5adb2bead3dfaada14b2513113802f3996daccac89014dafd1368700300053ad7daeea2a4d4d9e8502aa44337c6ff91165a25de84fe5273b2e5b7f4dda3a0410900125e7778d5c2a59a2ca2ce36bacc9e95812ae1b69a478fc7ecf5ded14b68a80a010d6e03e07137d5de8082773f8a422390cd0a592d81e6e623a42bc69547e6b343e1d9a14e64ac3486116e29a8315486a2324d93d3e33a8344ffdbc2655b76dbf72077e43c13961a6a52f0565f2000881576c7a113e7aa6e9a6ed4679014533f8d1bf80ff44ae5599813e80d2c1f2fd0a03400864952137916724a4504bb118ccaf9236f217a1e43c97e471397a3f86672226dd0e02e00d4dcbfe4dd250a97d0c830b3d93213fd048fed38ea8378018c726be68728e22c687037000e3bb6d2858fba82db877c2e28fa1e2cca4ce57b6bdfdba7513dcd2649da93544083d06f85c8f4d21559e8e7651dcaa0c3aafc4a691fdfb27f2f39ea08ea62feff43cf0d80061500b0b00cb246f3641d83f5c934c477ca641a5c545da8aa0e4662c4c5f26ee70525a04125006cf268fbdcaddb151168bf24d3fa2e09f7445d859ff9e5ba2fe71e7ef8861ba61834a80280ebddf1bc99e8d00ae5d2a0893d64774d4cea1bad7146fc964526b6c4617cd70a68500d00f7e8131b976b9537ab4e2b9c9cf086fcfd82e235cf6c6eabbf8030cc3fd1e395071a840120bfbd7fd4a54397eca0c0f7adc1231dd539950f508f92e237e3aeb91468c38d4083ea0068a89abd38178e2e9f67559758419b6908d48d58967547c9edfe98ba016e050734a809807957936c079272b238748593ee3a73f5c7647d0ece20a5c208769c484474aa2f192b6dcc780a770c9b40b42348219a34a746cb495f3f1efb710a816ac142121461c6f7bf82fb00b0dec5bfbcaa2e32983075c84989e439154bfc7df1d0549680a6c1a4999c18aa010dee074028fcade2995b7daec4562449ccbced0caf7a660f49ac4ea07d485b22348948a0415d001ce8e16f70ca5813141f7f7544586da1364d2f77dd8fbb7cc937c6d46136f93d68f000009a72d59e5a9bdf1de5e60bbb17358bc65e8ff1566fabad6d6eb42ef2781f6d6d40837000bce21c64847942319b4ac1c92b2ee02fe2bfbf43b685908b92a0c3cd25f21641a0417d0084138599419cf73489312bda0d53e1fa748e1f7927380961470ec9fda73b36978c953661c8065aaafe09fb847fb54e35b3c68f771b6953941b2b4e619b486d81761ee187bf828700301cd34529763c60738c12e1ccce6ddff8b8338cda8fda245e5d8d5613d20734408306df96bd65c7b8d5c27299269dd9335ef7cb1f3357145983f365ec2f933686fc6d77d0a01100ca3a3773d3f0a52559ee691776b714fedc8c7b2cd672c7065c295693d0616d37408318007c18e9a9f6e4929e20d8efd4c2428065720ed1938af8e5348c14b373b0a845d1063468d2f96f000000ffff86f9aa5001c001a08f785a1c8e4c549c415dd948da80f86e3aaabc4e7a784604b6362208e0fb6b85a011d366d57b6ad95cda2eb6b618704859b4d433ad7557cad177eff6f6bae578cbc0f90200df8345de7e8203e494e276bc378a527a8792b353cdca5b5e53263dfb9e82168cdf8345de7f8203e594e276bc378a527a8792b353cdca5b5e53263dfb9e82168cdf8345de8082062294388ea662ef2c223ec0b047d41bf3c0f362142ad58212cadf8345de8182062394388ea662ef2c223ec0b047d41bf3c0f362142ad58212cadf8345de828201949425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de838201979425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de848201999425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8582019a9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8682019b9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b8212cadf8345de8782019e9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de888201a29425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de898201a59425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8a8201a89425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8b8201a99425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8c8201aa9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08df8345de8d8201ac9425c4a76e7d118705e7ea2e9b7d8c59930d8acd3b820f08"
+ }
+ }
+ ]
+ },
+ {
+ "name": "debug_getRawHeader",
+ "summary": "Returns an RLP-encoded header.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "result": {
+ "name": "Header RLP",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "debug_getRawHeader example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0x32026E"
+ }
+ ],
+ "result": {
+ "name": "Header RLP",
+ "value": "0xf90236a09f73691f6dabca4f0a99b05d0a701995506aa311dcaa9ce9833d6f4ca474c162a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794c6e2459991bfe27cca6d86722f35da23a1e4cb97a078103ea8c47231886481d72ec1afae6eeb06c3773ce24a91323d5c9eed69d4cca0008992da2531db404f07b0871dd620a94ba346963e1b1c6dc7b00748e8593a1ea0b6c3890d9604434fc52f722848c84d1770add20cd75bbc28cdedff42940dbb56b90100200800000400000002000e0000000401000000440100000000c0400600000002000801000000040480020840048000000000400000000000000020004220000011002000000000000204000800000010010002000002000000000040a000000000000400020000010885000000000808000000008800001004002010020300005000000010002110410402000000000000000890000008000000000000000000020040000002000000000000810400000040006000004000004080020000000000000022001000000000000840400000000220250000000000080402000420000418000000000000000400040000004080040010200000000000108020020000808332026e8401c9c380833e3c3c846436f93899d883010b05846765746888676f312e32302e32856c696e7578a0112d8f15793e7df7f8dcdb21c891cff78c0d1839cb5b6dcd06116cdbb99536ae88000000000000000008a0cdb97712af6685bb9650d21d609525913293c48adda7c45990926daada335c9b"
+ }
+ }
+ ]
+ },
+ {
+ "name": "debug_getRawReceipts",
+ "summary": "Returns an array of EIP-2718 binary-encoded receipts.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "result": {
+ "name": "Receipts",
+ "schema": {
+ "title": "Receipt array",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "debug_getRawReceipts example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0x32026E"
+ }
+ ],
+ "result": {
+ "name": "Receipts",
+ "value": [
+ "0xf901a60182c70eb9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002000000000000000000000008000000000000000000000000000000000040000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000100000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000f89df89b947753cfad258efbc52a9a1452e42ffbce9be486cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000828d0386c1122e565f07dd28c7d1340ed5b3315a000000000000000000000000021849e99c31e3113a489d7eb0fd4d8c0edbe47afa00000000000000000000000000000000000000000000000000000000029b92700",
+ "0xf901a70183018e1cb9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002000000000000000000000008000000000000000000000000000000000040000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000008000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000002000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000020000000000000000f89df89b947753cfad258efbc52a9a1452e42ffbce9be486cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000828d0386c1122e565f07dd28c7d1340ed5b3315a000000000000000000000000069cda9d6cc6ce05982d0b4fdf9480f2991f39b5aa00000000000000000000000000000000000000000000000000000000029b92700"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "debug_getRawTransaction",
+ "summary": "Returns an array of EIP-2718 binary-encoded transactions.",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "result": {
+ "name": "EIP-2718 binary-encoded transaction",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "debug_getRawTransaction example",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "value": "0x3a2fd1a5ea9ffee477f449be53a49398533d2c006a5815023920d1c397298df3"
+ }
+ ],
+ "result": {
+ "name": "EIP-2718 binary-encoded transaction",
+ "value": "0xf8678084342770c182520894658bdf435d810c91414ec09147daa6db624063798203e880820a95a0af5fc351b9e457a31f37c84e5cd99dd3c5de60af3de33c6f4160177a2c786a60a0201da7a21046af55837330a2c52fc1543cd4d9ead00ddf178dd96935b607ff9b"
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_exchangeCapabilities",
+ "summary": "Exchanges list of supported Engine API methods",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md#engine_exchangecapabilities"
+ },
+ "params": [
+ {
+ "name": "Consensus client methods",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution client methods",
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "engine_exchangeCapabilities example",
+ "params": [
+ {
+ "name": "Consensus client methods",
+ "value": [
+ "engine_exchangeTransitionConfigurationV1",
+ "engine_forkchoiceUpdatedV1",
+ "engine_getPayloadBodiesByHashV1",
+ "engine_getPayloadBodiesByRangeV1",
+ "engine_getPayloadV1",
+ "engine_newPayloadV1"
+ ]
+ }
+ ],
+ "result": {
+ "name": "Execution client methods",
+ "value": [
+ "engine_getPayloadV1",
+ "engine_getPayloadV2",
+ "engine_executePayloadV1",
+ "engine_newPayloadV1",
+ "engine_newPayloadV2",
+ "engine_forkchoiceUpdatedV1",
+ "engine_forkchoiceUpdatedV2",
+ "engine_exchangeTransitionConfigurationV1",
+ "engine_getPayloadBodiesByHashV1",
+ "engine_getPayloadBodiesByRangeV1"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_exchangeTransitionConfigurationV1",
+ "summary": "Exchanges transition configuration",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#engine_exchangetransitionconfigurationv1"
+ },
+ "params": [
+ {
+ "name": "Consensus client configuration",
+ "required": true,
+ "schema": {
+ "title": "Transition configuration object",
+ "type": "object",
+ "required": [
+ "terminalTotalDifficulty",
+ "terminalBlockHash",
+ "terminalBlockNumber"
+ ],
+ "properties": {
+ "terminalTotalDifficulty": {
+ "title": "Terminal total difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "terminalBlockHash": {
+ "title": "Terminal block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "terminalBlockNumber": {
+ "title": "Terminal block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution client configuration",
+ "schema": {
+ "title": "Transition configuration object",
+ "type": "object",
+ "required": [
+ "terminalTotalDifficulty",
+ "terminalBlockHash",
+ "terminalBlockNumber"
+ ],
+ "properties": {
+ "terminalTotalDifficulty": {
+ "title": "Terminal total difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "terminalBlockHash": {
+ "title": "Terminal block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "terminalBlockNumber": {
+ "title": "Terminal block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "engine_exchangeTransitionConfigurationV1 example",
+ "params": [
+ {
+ "name": "Consensus client configuration",
+ "value": {
+ "terminalTotalDifficulty": 0,
+ "terminalBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "terminalBlockNumber": "0x1"
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution client configuration",
+ "value": {
+ "terminalTotalDifficulty": 0,
+ "terminalBlockHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "terminalBlockNumber": "0x1"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_forkchoiceUpdatedV1",
+ "summary": "Updates the forkchoice state",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#engine_forkchoiceupdatedv1"
+ },
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "required": true,
+ "schema": {
+ "title": "Forkchoice state object V1",
+ "type": "object",
+ "required": [
+ "headBlockHash",
+ "safeBlockHash",
+ "finalizedBlockHash"
+ ],
+ "properties": {
+ "headBlockHash": {
+ "title": "Head block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "safeBlockHash": {
+ "title": "Safe block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "finalizedBlockHash": {
+ "title": "Finalized block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "required": false,
+ "schema": {
+ "title": "Payload attributes object V1",
+ "type": "object",
+ "required": [
+ "timestamp",
+ "prevRandao",
+ "suggestedFeeRecipient"
+ ],
+ "properties": {
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "suggestedFeeRecipient": {
+ "title": "Suggested fee recipient",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "title": "Forkchoice updated response",
+ "type": "object",
+ "required": [
+ "payloadStatus"
+ ],
+ "properties": {
+ "payloadStatus": {
+ "title": "Payload status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING"
+ ],
+ "description": "Set of possible values is restricted to VALID, INVALID, SYNCING"
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ },
+ "payloadId": {
+ "title": "Payload id",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38002,
+ "message": "Invalid forkchoice state"
+ },
+ {
+ "code": -38003,
+ "message": "Invalid payload attributes"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_forkchoiceUpdatedV1 example",
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "value": {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "value": {
+ "timestamp": "0x5",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_forkchoiceUpdatedV2",
+ "summary": "Updates the forkchoice state",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_forkchoiceupdatedv2"
+ },
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "required": true,
+ "schema": {
+ "title": "Forkchoice state object V1",
+ "type": "object",
+ "required": [
+ "headBlockHash",
+ "safeBlockHash",
+ "finalizedBlockHash"
+ ],
+ "properties": {
+ "headBlockHash": {
+ "title": "Head block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "safeBlockHash": {
+ "title": "Safe block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "finalizedBlockHash": {
+ "title": "Finalized block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "required": false,
+ "schema": {
+ "title": "Payload attributes object V2",
+ "type": "object",
+ "required": [
+ "timestamp",
+ "prevRandao",
+ "suggestedFeeRecipient",
+ "withdrawals"
+ ],
+ "properties": {
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "suggestedFeeRecipient": {
+ "title": "Suggested fee recipient",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "title": "Forkchoice updated response",
+ "type": "object",
+ "required": [
+ "payloadStatus"
+ ],
+ "properties": {
+ "payloadStatus": {
+ "title": "Payload status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING"
+ ],
+ "description": "Set of possible values is restricted to VALID, INVALID, SYNCING"
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ },
+ "payloadId": {
+ "title": "Payload id",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38002,
+ "message": "Invalid forkchoice state"
+ },
+ {
+ "code": -38003,
+ "message": "Invalid payload attributes"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_forkchoiceUpdatedV2 example",
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "value": {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "value": {
+ "timestamp": "0x64e7785b",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_forkchoiceUpdatedV3",
+ "summary": "Updates the forkchoice state",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#engine_forkchoiceupdatedv3"
+ },
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "required": true,
+ "schema": {
+ "title": "Forkchoice state object V1",
+ "type": "object",
+ "required": [
+ "headBlockHash",
+ "safeBlockHash",
+ "finalizedBlockHash"
+ ],
+ "properties": {
+ "headBlockHash": {
+ "title": "Head block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "safeBlockHash": {
+ "title": "Safe block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "finalizedBlockHash": {
+ "title": "Finalized block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "required": false,
+ "schema": {
+ "title": "Payload attributes object V3",
+ "type": "object",
+ "required": [
+ "timestamp",
+ "prevRandao",
+ "suggestedFeeRecipient",
+ "withdrawals",
+ "parentBeaconBlockRoot"
+ ],
+ "properties": {
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "suggestedFeeRecipient": {
+ "title": "Suggested fee recipient",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "parentBeaconBlockRoot": {
+ "title": "Parent beacon block root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "title": "Forkchoice updated response",
+ "type": "object",
+ "required": [
+ "payloadStatus"
+ ],
+ "properties": {
+ "payloadStatus": {
+ "title": "Payload status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING"
+ ],
+ "description": "Set of possible values is restricted to VALID, INVALID, SYNCING"
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ },
+ "payloadId": {
+ "title": "Payload id",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38002,
+ "message": "Invalid forkchoice state"
+ },
+ {
+ "code": -38003,
+ "message": "Invalid payload attributes"
+ },
+ {
+ "code": -32602,
+ "message": "Invalid params"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_forkchoiceUpdatedV3 example",
+ "params": [
+ {
+ "name": "Forkchoice state",
+ "value": {
+ "headBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "safeBlockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "finalizedBlockHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a"
+ }
+ },
+ {
+ "name": "Payload attributes",
+ "value": {
+ "timestamp": "0x64e7785b",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "suggestedFeeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "parentBeaconBlockRoot": "0x11f780a954bcba8889998e4e61deaae6388dd2391e9c810bd9c94962cc1eadc1"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "payloadStatus": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ },
+ "payloadId": "0x0000000021f32cc1"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getBlobsV1",
+ "summary": "Fetches blobs from the blob pool",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#engine_getBlobsV1"
+ },
+ "params": [
+ {
+ "name": "Blob versioned hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "List of blobs and proofs",
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "Blob and proof object V1",
+ "type": "object",
+ "required": [
+ "blob",
+ "proof"
+ ],
+ "properties": {
+ "blob": {
+ "title": "Blob",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "proof": {
+ "title": "proof",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38004,
+ "message": "Too large request"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getBlobsV1 example",
+ "params": [
+ {
+ "name": "Blob versioned hashes",
+ "value": [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ }
+ ],
+ "result": {
+ "name": "List of blobs and proofs",
+ "value": [
+ {
+ "blob": "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18",
+ "proof": "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getBlobsV2",
+ "summary": "Fetch blobs from the blob mempool",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/osaka.md#engine_getBlobsV2"
+ },
+ "params": [
+ {
+ "name": "Blob versioned hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "List of blobs and corresponding cell proofs",
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "Blob and proof object V2",
+ "type": "object",
+ "required": [
+ "blob",
+ "proofs"
+ ],
+ "properties": {
+ "blob": {
+ "title": "Blob",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "proofs": {
+ "title": "Cell Proofs",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38004,
+ "message": "Too large request"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getBlobsV2 example",
+ "params": [
+ {
+ "name": "Blob versioned hashes",
+ "value": [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ }
+ ],
+ "result": {
+ "name": "List of blobs and corresponding cell proofs",
+ "value": [
+ {
+ "blob": "0x1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe304962b3598a0adf33189fdfd9789feab1096ff40006900400000003fffffffc6092c566b31415be66313fbfb2f13fd56212dfe8000d200800000007fffffff84d37e37a3c8aae349928a7775c40a7a570681bcd001be41100000010ffffffef26821fa14f77df20ff1776e6aedf77458d12939700396c2300000022ffffffdd4d043f429eefbe41fe2eedcd5dbeee8b1a25272e0072d84600000045ffffffba261ad7321441ff3bc9240392b1dc0510e08caa5900e7548d0000008cffffff734c35ae642883fe779248072563b80a21c11954b201cea91a00000119fffffee6247db575276a7fa6f1563642bdce3c3e2e750561039ef63500000234fffffdcb48fb6aea4ed4ff4de2ac6c857b9c787c5cea0ac2073dec6a00000469fffffb961e092e81740c8153921f0102ed9718f3661671810e7d7cd5000008d4fffff72b3c125d02e81902a7243e0205db2e31e6cc2ce3021cfaf9aa000011a9ffffee56043712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab086e25654d29100c2a845807597517908938440273ef2eaa000046a9ffffb95610dc4aca9a5220185508b00eb2ea2f2112708804e7de5d5400008d53ffff72ac21b8959534a44030aa11601d65d45e4224e11009cfbcbaa800011aa7fffee55843712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab012f4af01a8f3837a750ba86d8dafa1033fc69c243ef48ea100046aa0fffb955f25e95e0351e706f4ea1750db1b5f42067f8d38487de91d420008d541fff72abe4bd2bc06a3ce0de9d42ea1b636be840cff1a7090fbd23a840011aa83ffee557c23b7d0ba1dfe9e8b75236b6463db3014aa773d1ef7a6190900235508ffdcaaf7476fa1743bfd3d16ea46d6c8c7b6602954ee7a3def4c32120046aa11ffb955ee1af19b954e5cfce5a153d58985cae84d561f5078de9a0825008d5424ff72abdb35e3372a9cb9f9cb42a7ab130b95d09aac3ea0f1bd34104a011aa849fee557b66bc66e553973f396854f5626172ba135587d41e37a68209402355093fdcaaf6c639f3557494a69e4d764d44424b56a655d3cdfc3f4d1e529046aa128fb955ed75350c35b68f756817b8fd0803fc8fcc566bc1b84e9a56e5308d54252f72abdad32b3df63a8512fbac3e5c8f875f0218579ba9306d34c80a711aa84a6ee557b596567bec750a25f7587cb91f0ebe0430af375260da699014e2355094ddcaaf6b256e1d63b77a741a2dc5d4bd9ce1eae10932ca8184d33a69d46aa129cb955ed6339d60523c5b105fd8580bfab929b841bd29bac2d9a68f13b8d54253a72abdac573ac0a478b620bfb0b017f5725370837a537585b34d1e2771aa84a74e557b58a736a6d3bed269aade2c926a640cc3869f6b10cb369a568ef355094eacaaf6b1372e73324b0afb8139258754477f698ce99a47563d34c75df6aa129d6955ed62571e0bef637c1f2def1771280e64b5997df8b46c4a69a8fbfd54253ae2abdac496fd3d69945e66875afb44cf9c2f4db2a6b58e9864d36c380aa84a75d557b58916bba05df622f53a32c2ec1eb7c47de4f82f42f099a6f2b0255094ebbaaf6b1216386646b9ac129fe2523abceeeede499b22aba1034dffa05aa129d7855ed6241531f21840be4d6b4170d7f95d439f12e1097d01d69c1980c54253af1abdac48132509bb4ee2c301ffae127239ed20a56cd71fc37d384d419a84a75e457b5890164a13769dc58603ff5c24e473da414ad9ae3f86fa709a8335094ebc8af6b12025554c7808f134337b84ac48671a65155e20a4cdc4e14f467a129d7925ed6240336bbe7adf48909273d5bb104d9aacaa67056f5b59c2b8cd04253af25bdac48056d77cf5be912124e7ab76209b355954ce0adeb6b385719a084a75e4b7b58900a6701f764a886a754c234ec0b5d0952946d9e32d370afd742094ebc97f6b120135a164776276fd1615130000eb070cd23877ec1a3e1615285129d7930ed624025403ee7992542257a6f262815573fc241bb3fdf44c2c4490b253af262dac480490c9027df20e6cdacab127822a4ddac7e22c21a86858a36174a75e4c6b589009119204fbe41cd9b595624f04549bb58fc4584350d0b146c2e94ebc98d6b12012232409f7c839b36b2ac49e08a9376b1f88b086a1a1628d85d29d7931ad624024464813ef907366d655893c11526ed63f11610d4342c51b0ba53af2635ac4804885514d69ee4cf5d827dedaa224438efdcd864046558a50575a75e4c6c5890090f363c05eaa0013dbcc8a17c3c7ed007b45d0a64c7b14baeec4ebc98d9b120121d6c780bd540027b799142f878fda00f68ba14c98f62975dd89d7931b36240243a65027057566779aaef4c18e9f19e46cc206bef1bc5305fb23af26367c48048735617395b8331760dab5e59cbd99ab592ed1a3a348a62636575e4c6d0890090e53840cb63dcc56ed32382db8fa99393208676d06614c66acbebc98da2120121c9708196c7b98adda64705b71f532726410ceda0cc298cd597d7931b44240243926d15863c49783e045ad196369cac747cc61d9d95531b4f30af26368948048723663d65256952fec0826954652fb710f4387d9727a63842625e4c6d1390090e45588d22f7a9088038d198d0c255cc49e31d3d8a4c4c7228c5bc98da2820121c893d2c9e9c287383296ff7c97ca1f6bbc0e6bd709598e5f58c7931b45140243911066b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a3804872210cd72bca4e931215596b75e274973ef8f37a7a50639b1e33e4c6d1470090e44219ae57949d26242ab2d6ebc4e92e7df1e6f4f4a0c7363c67c98da28e0121c884335caf293a4c485565add789d25cfbe3cde9e9418e6c78cf931b451c0243910866b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a380487221059851551bf93a40d637d861f3fd21789e3ea010339b3873f4c6d1471090e441f3f1c83505589cad293c134367602570e74165e037368b27f98da28e3121c883d0a4b5f4d8176185cf4489064e262d617946f1803e6d3090031b451c7243910791496be9b02ec30b9e89120c9c4c5ac2f28de3007cda612006368a38e487220f2292d7d3605d86173d1224193898b585e51bc600f9b4c2400c6d1471c90e441e4525afa6c0bb0c2e7a24483271316b0bca378c01f369848018da28e3921c883c830c84d84edc40887114f2e461c8b8973f333dc3b6d3234041b451c734391078f61909b09db88110e229e5c8c391712e7e667b876da646808368a38e687220f1e4f338ec08d72a4d41202e110688c4dca7911cceab4ca74116d1471ce0e441e3b2a79762df147cc5ff0cbea18c776c38f9e65f5d269968c23da28e39d1c883c7554f2ec5be28f98bfe197d4318eed871f3ccbeba4d32d1847b451c73a391078ea35f831649b81b4378ff5d05b1439363925da3346a65bd49068a38e757220f1d36bf062c93703686f1feba0b628726c724bb4668d4cb7a920d1471ceae441e3a663f31e3f446953960c9d6964474300df43ab29179970f642a28e39d6c883c74b53f8952b5f3529e3e600fac084e429b93398ae2c32e39086451c73ae91078e953403830394ccd67f98c81d7900267b6d1373b85565c8c50d8a38e75e220f1d29680706072999acff31903af2004cf6da26e770aacb918a1b1471cebc441e3a525c2064bb2995dcb62fe69ddbf6f815aefa113d529724b83728e39d79883c74a344532223298e3c242c9363afe44e5358a064d6a22e4b146f51c73af41078e94514b89cf3297efb0025ecef57befaceabed0c09415c97ccdfa38e75e920f1d289297139e652fdf6004bd9deaf7df59d57da181282b92f99bf471cebd241e3a51252e273cca5fbec0097b3bd5efbeb3aafb4302505725f337e8e39d7a483c74a2431d74046225a5ab8fc2da2b5ee349d5a14a2a607e4c00afe1c73af4a078e944763ae808c44b4b571f85b456bdc693ab429454c0fc98015fc38e75e940f1d288e536f59c55fcbed9bbd7cb2cfaf309d62feccf41c9301cff971cebd291e3a511b32f10c3795fa5def47bf8d9754bf62c0a9dc4436260543f3e39d7a533c74a23565e2186f2bf4bbde8f7f1b2ea97ec58153b8886c4c0a87e7c73af4a678e9446a57d6898b2e4bfa74ebc45e55495bb2fd53b36cd59816b3d08e75e94df1d288d33bbf6bc332fa77a1a44ee4a289158df553a935a8302f0ba21cebd29ce3a511a5039130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920e44c0ccf15dc7ec558fc4f422250f954e531d35817eed14e75e94eb1d288d241c898199e2bb8fd8ab1f89e8444a1f2a9ca63a6b02fdda29cebd29d63a511a4839130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920705e657bec3f017d25c2773a18af214f91742f5517f0754f75e94eb2d288d23f6ccf23a4aee085b2184b166c27bc6a99cf2abaa72fe28e9febd29d66a511a47d65b09ff634238e1bfd5c54d045d6fd2e4a97d14b5fc6c140d7a53ace4a2348f9577398993ea99eefc77ed198820c22574171fe93bf8f2682af4a759d944691f13af989df53b5c0975bc3cb28fa766ca92f2659247f1ff1065e94eb3c288d23e102056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f820815b1adf7380f9a1136f927ad2c05342a3c3917f9061836f4a759e544691f04102b635bee701f34226df24f5a580a685478722ff20c306de94eb3ca88d23e082056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f8200d6d738c49e37c58e035ba72c91e7b3d5005ed7c906327704a759e554691f03f1adae71893c6f8b1c06b74e5923cf67aa00bdaf920c64ee094eb3caa8d23e07e35b5ce31278df16380d6e9cb2479ecf54017b5f2418c9dc129d679551a47c0fc6b6b9c624f1be2c701add39648f3d9ea802f6be483193b8253acf2aa348f81f862e99171749a4845d021cf248845dbcfaca133c606341b05a759e555691f03ef51e57b8fbf9713436d09c64106e9df9a0584c3890c69da0c4eb3caabd23e07dd2fdd4fcc5590a93ea6d9b47a0431e72eb74be30f18d558199d679558a47c0fb95fba9f98ab21527d4db368f40863ce5d6e97c61e31aab0333acf2ab148f81f724b8797de2ca527b2682cf9e00725c4b58971e83963570467759e556391f03ee3232188692facd21c9d201bb804a9b165bf262c6fc6afaccfeb3caac823e07dc5464310d25f59a4393a403770095362cb7e4c58df8d5f599fd679559047c0fb8a18987a519515cb2a414696d80904ed91a8db0dbc1ac05740acf2ab218f81f7133130f4a32a2b9654828d2db01209db2351b61b783580ae8159e556431f03ee266261e94654572ca9051a5b602413b646a36c36f06b015d02b3caac863e07dc4c50d62b397f10dc09d6fadeb83e859487f31ac9ddd6045e066795590d7c0fb8972dbeaf1fd4843acb7abbe5687369510a9277efb8ac0a600dcf2ab21bf81f712d5b7d5e3fa9087596f577cad0e6d2a21524efdf715814c01b9e556437f03ee25a430d152c28736de5b7b5bd99c4036c24f6221adfb02b24383caac870e07dc4b3122c830527495e833c31a32b7e650044988691bc6057ec71795590e2c0fb89652459060a4e92bd0678634656fcca0089310d2378c0afd8e2f2ab21c581f712ca48b20c149d257a0cf0c68cadf9940112621a46f1815fb1c5e556438b03ee25941d7670d610ad76d1ae534153e9862a1f7076e9e002c1078ccaac871707dc4b273aece1ac215aeda35ca682a7d30c543ee0edd3c005820f1995590e2e0fb8964e01ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee2593607b07014646177fa184cb51e71db41e1b8780df42c1708d0aac871747dc4b26c0f60e028c8c2eff430996a3ce3b683c370f01be8582e11a15590e2e8fb8964d81ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee259360071959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf0e32b3e638f404b2a322f3be28248c2c6786767f82e46217590e2e91b8964d7e1c6567cc71e809654645e77c50491858cf0cecff05c8c42eb21c5d23712c9afc38cacf98e3d012ca8c8bcef8a09230b19e19d9fe0b91885d6438ba46e25935f871959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf06f3d971065a2cde1fef563da78a6eac124a9c3f52e47c57690e2e91c8964d7df6a8d86cda1a81e7bcab0eface7abfd7cf595e3e75c912eee21c5d23a12c9afbd612d664819b2bfaf62280751c5b622f4976e23cbb92401dd438ba47525935f794e6d253d09c802169116369b81ca6de3db1ea3947249a7bb871748eb4b26bef128eca326e9f286e4eef2952ef9f303c2627fa325e494f3780e2e91d7964d7de151d9464dd3e50dc9dde52a5df3e60784c4ff464bc929e6f01c5d23af2c9afbc22fc4e5487e2c9e4b88907cb3de2a37043640e894925571e138ba475f5935f7835f89ca90fc593c971120f967bc546e086c81d12924aae3c271748ebeb26bef064b25edcecf14fbe5ef081ac76f07040b8545fe4f49576b85e2e91d7e64d7de0b225e344a748c7a83aad65d86d46c3011b6ce589b92b07b0cc5d23afdc9afbc1544bc6894e918f50755acbb0da8d860236d9cb1372560f6198ba475fb935f782a158b29d6a8946cc6781f9e13480ee841877bbe6b4ac390341748ebf826bef0532b1653ad5128d98cf03f3c26901dd0830ef77cd6958720682e91d7f04d7de0a6562ca75aa251b319e07e784d203ba1061deef9ad2b0e40d05d23afe09afbc14c386ba7621b05e8eb8dc3189236d56a06e8204f57561e25a1ba475fc235f7829770d74ec4360bd1d71b8631246daad40dd0409eaeac3c4b43748ebf846bef052e6dc0f635427a266603d28a40d1b3d0164cc3995a587a3a87e91d7f09d7de0a5b679445175b56cf83d46b3c7999c5c82745c98eb1b0f61910d23afe14afbc14b55b3ae2db8d1021bf759ca0eb29e9b84937d5796061edd622a475fc2a5f78296942881e63f082c636b7ff69ce4a31988d1bed4ebdc3dd504648ebf855bef052d111229574b7680f253cc4fb948ac15914e41cf97887bc448d91d7f0ac7de0a5a122452ae96ed01e4a7989f7291582b229c839f2f10f78891b23afe158fbc14b42448a55d2dda03c94f313ee522b0564539073e5e21ef11236475fc2b1f78296841527045291a2fbe1b2ee049c4c68f0a1cd2a27c13de3c86d8ebf8564ef052d072a4e08a52345f7c365dc093898d1e1439a544f827bc790db1d7f0ac9de0a5a0e549c114a468bef86cbb8127131a3c28734a89f04f78f21b63afe1593bc14b41c354a7b41637a61c564364cda59a5ad0915939a06ef1fe76d75fc2b28782968376a94f682c6f4c38ac86c99b4b34b5a122b27340dde3fcedaebf85650f052d06e613c45b2644c09cd5d9f5b615cf4dc1f0290c418bc8141b6d7f0aca2e0a5a0db4e8ae4119efa96528804debab047e038b163e42e7904276eafe15946c14b41b5292820d01457af5cdccfe56d56ede86c0f0a2459f209f2de5fc2b28e82968369525041a028af5eb9b99fcadaaddbd0d81e1448b3e413e5bcbf85651d052d06d230b2dbed27c1402b4005bdad5215c9aae86aed64c8296f7a7f0aca3b0a5a0da36165b7da4f828056800b7b5aa42b9355d0d5dac99052def4fe15947614b41b464eddc86175678364ccdd1ead3eb54ea64dee119020a761eafc2b28ed2968368b29cde96fc13189816680655273c8c547481e7f1d415067d6f85651db52d06d15539bd2df82631302cd00caa4e7918a8e903cfe3a82a0cfadf0aca3b6a5a0da2a3349fe6bdb28a8bd66c7bd41c5813d17ccbc58720543435ce159476e4b41b4536693fcd7b651517acd8f7a838b027a2f9978b0e40a8686b9c2b28edc968368a6593a525c430525ad67e51cff0c631c59df33bdc5150eb17485651dba2d06d14b3e86fd655c6cce129c9061f60f2460ae6aa9d7872a1f06ea0aca3b755a0da295092053778f3c1edd05e6ebe414a6e95781960b0b543fb1d5159476ebb41b45291240a6ef1e783dba0bcdd7c8294dd2af032c1616a87f63aa2b28edd768368a5224814dde3cf07b74179baf90529ba55e06582c2d50fec7545651dbaed06d14a449029bbc79e0f6e82f375f20a5374abc0cb0585aa1fd8ea8aca3b75da0da29481e179025ca2470882b34e63940ccbd72c5a30cb243fcc15259476ebc41b4528f3c2f204b9448e1105669cc7281997ae58b46196487f982a4b28edd788368a51e04709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b08e13287fde889b0f33381b9f3223b8b859d1d8c1fe95294ca3b75e40da2947611c2650ffbd11361e6670373e64477170b3a3b183fd2a5299476ebc81b4528ec2384ca1ff7a226c3ccce06e7cc88ee2e167476307fa54a5328edd790368a51d84709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b01a25812cb4eb1dc6fffe43972881e0b3061434befe96cd4da3b75e41da29475f344b025969d63b8dfffc872e5103c1660c28697dfd2d9a9b476ebc83b4528ebe689604b2d3ac771bfff90e5ca20782cc1850d2fbfa5b35368edd790768a51d7c5d3e62127dbb70efccb844b13a6d2d92dce401f4f4b80e6e1dbaf20fd14a3af7468f1cd1d1d964976636b15a6b388320660a5fe6e971c0dd3b75e420a29475ed193092507a154be699338aaccccf2e3b78571bcad2e525bb76ebc8424528ebd9326124a0f42a97cd32671559999e5c76f0ae3795a5ca4b76edd790848a51d7b264c24941e8552f9a64ce2ab3333cb8ede15c6f2b4b9496eddbaf210914a3af645596eb30a70ce1ec96627d5e5cd799d66efb3a53972ad1dcb75e421329475ec737402f0e247c4690f98b22b4b00d5ba78a38d0a42e5747ba6ebc8427528ebd8d6e805e1c48f88d21f3164569601ab74f1471a1485cae8f74dd79084ea51d7b1a691314e568539cfbb2f2b2cab6939698d5259e8db95ec2eabaf2109e4a3af6335e388277a709bcaf32ab8d8d6385552c568d991872bf29d675e4213d9475ec6548835d9c2475fc16321d4312bd68d253595d8e2de57ff7adebc8427c28ebd8c91d1913e51f4e7ae43100ae1d712fcca15efd7858cb01935cd79084f951d7b1913a3227ca3e9cf5c862015c3ae25f9942bdfaf0b1960326b9af2109f2a3af63220076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218002ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe0aea6801cb432d22569a56cc4ee2a08b91fef0a41fcc617d084f99217b190bfc15d4d00396865a44ad34ad989dc5411723fde1483f98c2fa109f3242f63217f82ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe03ab8d8c98a9554dd366b94bce48830b3cc31663efcc7bbd184f99218b190bfbf01840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf40c2051ff5c696391ccea8b8dfb744b12252943d7cc88dd204f992193190bfbe81840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf404e1778a29cf8bbd49b6ee0d7ada2d91cfed69979c88f7605f992193290bfbe7f284149f21053fa6103a3e9a751a3da34a9ef8ef09120900cf3243266217f7cfd508293e420a7f4c20747d34ea347b46953df1de122412019e64864cc42fef9fa2d17807517b26c3bdb55ce953ced90cd540097bf4483e434cc90c99985fdf3f35a2f00ea2f64d877b6ab9d2a79db219aa8012f7e8907c869992193330bfbe7e640705a81352c33a73a1d624cea146b2ffc44bafa121134d43243266717f7cfcb0cf30daf40baea064100ec91ca86fe5aa4cbd1f124240da964864ccf2fef9f9519e61b5e8175d40c8201d923950dfcb54997a3e248481b52c90c999e5fdf3f2a33cc36bd02eba8190403b2472a1bf96a932f47c4909036a59219333cbfbe7e5467986d7a05d750320807648e5437f2d5265e8f8921206d4b243266797f7cfca85b4333a0e211231bdcd4f1149ece0da4f8ff7b0f42427e974864ccf3fef9f94f4298bfee9a84c8ef86700a2133fa43449e41521b8486a12f90c999e8fdf3f29d1143d88a0b6c1496d9a63c3a5e52ae83e8c50034090ee660219333d2fbe7e5392287b11416d8292db34c7874bca55d07d18a0068121dccc0432667a5f7cfca72450f62282db0525b6698f0e9794aba0fa31400d0243b9980864ccf4bef9f94e416311cfd31c3276e99f809cae8f39c19f26a5d9d4878d7020c999e98df3f29c72c6239fa63864edd33f01395d1e73833e4d4bb3a90f1ae0419333d31be7e538e58c473f4c70c9dba67e0272ba3ce7067c9a9767521e35c0832667a637cfca71c3d9b4096647bbe2c9c86764f3dfb08ca3f9548e743c85c1164ccf4c7f9f94e370748d9d99f59ff1105d314967254398f2b6cedcb87925c23c999e990f3f29c6d0e91b3b33eb3fe220ba6292ce4a8731e56d9db970f24b8479333d321e7e538da1d2367667d67fc44174c5259c950e63cadb3b72e1e49708f2667a643cfca71b43a46ceccfacff8882e98a4b392a1cc795b676e5c3c92e11e4ccf4c879f94e368009ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367809ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367802c089f78d8d64ae1c4378713981f155dbd7b11762767e19a9e99104029c6ceff58113ef1b1ac95c3886f0e27303e2abb7af622ec4ecfc3353d322080538d9dfe3c34d69039bbae3edda4444656da7d71a22ea1d59da12a6b7a644101a71b3bfb047c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f508f80b9a93b3be6b101d6109482645bbe13f3f507687f1afe99104089c6cefea11f0173527677cd6203ac212904c8b77c27e7ea0ed0fe35fd322081138d9dfd423e02e6a4ecef9ac40758425209916ef84fcfd41da1fc6bfa644102271b3bfa847c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f501b931256119e6968ce9c388c78c283b8c03651046880beff9910408ac6cefe9f372624ac233cd2d19d387118f1850771806ca208d1017dff322081158d9dfd3e6e4c49584679a5a33a70e231e30a0ee300d94411a202fbfe6441022b1b3bfa7c68aaeb5d6355cdfe41a7ec5bbc7245c0adf4e42044079bfdc88204573677f4f75d682f679d0e1eb4501600af6f42b37c082c243d8810dbfc910408af6cefe9ed46e2b77c107ec0206cf22956d4e38ef2bc9aa47810235bfa2208115fd9dfd3d919d7c7a4f76002f8a6aa7aa5a02545e02577a4ed20485bf5441022c0b3bfa7b133af8f49eec005f14d54f54b404a8bc04aef49da4090b7ea88204581677f4f62675f1e93dd800be29aa9ea968095178095de93b481216fd510408b02cefe9ec45ad095d491629a7d0219fd24f78856fbd7ff8366024483ab208116069dfd3d8741b38455f927b7b1d0fa2241e56ed5f25c4162c9048aab5741022c0e3bfa7b0d0f796158c8b1f21b6eba6c7bc13bd3df64c5218f0916faaf8204581d77f4f6191ef2c2b19163e436dd74d8f78277a7bec98a431e122df55f0408b03aefe9ec323de5856322c7c86dbae9b1ef04ef4f7d9314863c245beabe08116075dfd3d86407dd63731bf2139342998bd6003cc6f5d26b687548b9797d1022c0ecbfa7b0c70fbac6e637e42726853317ac00798deba4d6d0ea9172f2fa204581d97f4f618e1f758dcc6fc84e4d0a662f5800f31bd749ada1d522e5e5f4408b03b2fe9ec31c3eeb1b98df909c9a14cc5eb001e637ae935b43aa45cbcbe881160765fd3d863809e88fde9583bbebf65ee557fa2a9757d2f8e3518b993bd2022c0eccfa7b0c6f13d11fbd2b0777d7ecbdcaaff4552eafa5f1c6a3173277a404581d99f4f618de27a23f7a560eefafd97b955fe8aa5d5f4be38d462e64ef4808b03b33e9ec31bc4f447ef4ac1ddf5fb2f72abfd154babe97c71a8c5cc9de9011607667d3d863782a9b56962e9e417732b47d7799079d77dbd09115b995612122c0ecd0a7b0c6ef5536ad2c5d3c82ee6568faef320f3aefb7a1222b732ac2424581d9a14f618dde367fb30590db889497981dd65a7c9dda1b84a053e65728858b03b3439ec31bbb6cff660b21b711292f303bacb4f93bb4370940a7ccae510b160766873d863776661124c319d0a50a2b269f5160509f631a54dd4c995e46172c0ecd0f7b0c6eeb5834a2330a03cccc2313669ab6ff66c0e0ec169632be302f581d9a1ff618ddd53c7b9d12ea6a1c5012ecf52d645cf57c6e1a8929657e045fb03b3440ec31bba9050992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d86377510a1325a5566d76afe54024a57e3025e710eedc9f95fb5980c0ecd105b0c6eea214264b4aacdaed5fca80494afc604bce21ddb93f2bf6b30181d9a20b618ddd44284c969559b5dabf95009295f8c0979c43bb727e57ed660303b34416c31bba8850992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d863775102d44b3023d39edb620c8724fd960866bbb3025f65fb73c0d0ecd105c0c6eea1f5a8966047a73db6c4190e49fb2c10cd776604becbf6e781a1d9a20b818ddd43e412524b5cb4a39904fe7f1375be041a99902f3d67ede94353b34417131bba87b0e5ca2186cf6f5d86c960a66ae1eab4dde4843a9fdbecc6b766882e3637750f51cb94430d9edebb0d92c14cd5c3d569bbc908753fb7d98d6ecd105c6c6eea1ea39728861b3dbd761b258299ab87aad3779210ea7f6fb31add9a20b8d8ddd43d472e510c367b7aec364b0533570f55a6ef2421d4fedf6635bb344171b1bba87a871dc7a33a5d1e03e9626ce62d848dcd890c6969cdbee6ab866882e3737750f4f6fcb4d1422064334f913c4bda6efe1abcdcf8936b7de7971cd105c6f6eea1e9d6ba8f2d51a6f0921beedb173443deb5247e16e6a6fbe96e49a20b8dfddd43d3963643e570b4094fb4aa18ade7ed9fe9f3c0538d1df7ed1ca344171c0bba87a7152dad55aece3acae62093db4f4122539244ccda0beff47956882e3827750f4e131c80362b029dc1490d8a361de82726cf4dbf73e7e00332bd105c705eea1e9c1639006c56053b82921b146c3bd04e4d9e9b7ee7cfc006657a20b8e0bdd43d382533266379709f30a1028b57f7067f1ae7fb238f6f80270b044171c18ba87a7033277251c047668cbed1792f6d72e0b57aba6cdeaf0068561882e3832750f4e0564ee4a3808ecd197da2f25edae5c16af574d9bd5e00d0ac3105c7064ea1e9c0a55eeed1ce83c25e7812473d3531655595add93a8c01bb98720b8e0cad43d381337f032e6a6dace86cf0f0f9e9c8ad2ad61fd834e8039170f4171c196a87a70256fe065cd4db59d0d9e1e1f3d3915a55ac3fb069d00722e1e82e3832d50f4e04a6bd3244771cdbcd309026672688972b03438693700e6003e05c7065ba1e9c09363b8a13bb9fdfc5ddecaf4dcc7710d5b14b32e6b01cda47d0b8e0cb843d3812553839b244a5e7b738a5c11b1854042b0d5a8b8d3039cecfb171c197187a7024933198ef56b1f799ee17e4b5b00dead5c5793cda3073b7df72e3832e40f4e049166331dead63ef33dc2fc96b601bd5ab8af279b460e76fbee5c7065c81e9c09225878948282e0693352bf5563f9d8dd6c0a9192891cef9bddb8e0cb913d3812433d0381b1dc23551e7244d2bfea0fe2d2c165810f39e0dbbc71c197237a70248506195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e049090c32b8211d5259e9629f9aef94fbdb405e1abc36e786b6f3c7065c8fe9c09212186570423aa4b3d2c53f35df29f7b680bc35786dcf0d6de78e0cb91fd381242430cae084754967a58a7e6bbe53ef6d01786af0db9e1adbcf1c19723fa70248486195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e0490904f3ddabeab88214df6bfd6f1461bdc008dee1f6b786d133d7065c8ff9c09211f2a8e0e2a2d72c553ba45d5da8295dffbc81e9ad3f0dbca7be0cb92003812423d551c1c545ae58aa7748babb5052bbff7903d35a7e1b794f7c19724007024847a364a91558c2d9806b5dd7f6200b5a7e9ccbcc74cc370cdf0832e4801e04908f36c9522ab185b300d6bbafec4016b4fd399798e9986e19be1065c9003c09211e6653c9e030718e2d2a43c257ff934c7a1df3579300dc4dbc30cb92008812423cb568b94b2e494485d153e72f7e8c7b73e6aad4e5d1b8b5b871972401202484795392982129f8b1371f7430de7c7ed9677819cf8b737185b0f32e4802504908f29725304253f1626e3ee861bcf8fdb2cef0339f16e6e30b61e65c9004a09211e5270b860f7548ed07fa9d25f97161481d8b2b63ed9dc63103dcb92009512423ca36d831a9b7f8023b7206ae72622872bac11aed9b0b8c7c47c9724012b2484794567188de3d562ca260d9bf6443b6c7f52cfa00f5e71912cfa2e4802574908f2895a43747481281703e7fe14806d3726a04b827ab9e323fdf55c9004af9211e51140994195d8b2b0bf9cc250f8d0cc753b43475170c6499febb92009602423ca210d44dbd887c7e437064ac9e997f7127132d0fede8c94e3d8724012c1484794411a89b7b10f8fc86e0c9593d32fee24e265a1fdbd1929c7b0e4802582908f288235136f621f1f90dc192b27a65fdc49c4cb43fb7a32538f61c9004b05211e51046a26dec43e3f21b832564f4cbfb893899687f6f464a71ec39200960a423ca2086060163552e0c6283172c69175cf4f0dd95249e5c94fe18824012c158479440f4cd285177c240f082fabb51ae1fcc6165ee6efc892a167114802582c08f2881d25b762dbceaaa0c82c1d922dba57b4276a103b8e254472239004b05911e510394b6ec5b79d554190583b245b74af684ed420771c4a88e447200960b223ca207222efe41c110d05d87d3c70aedfbcf89854834a3595136c8f4012c165479440e345dfc838221a0bb0fa78e15dbf79f130a906946b2a26d91e802582ca8f2881c617d1e91d1a969a19c1b7eab375520a5bfe4f84d3544f563e004b05961e51038b2fa3d23a352d3433836fd566eaa414b7fc9f09a6a89eac7c00960b2c3ca207165f47a4746a5a686706dfaacdd548296ff93e134d513d58f8012c165879440e2c4aa1a195ab175385da857d93a0ee7ada9ebe8297a27c55f102582cb1f2881c5721559bd82c9129c381d1231f383b1dafe9bf612c44fa4fe304b05964e51038ad42ab37b05922538703a2463e70763b5fd37ec25889f49fc60960b2c9ca20715a1168c80d88a729c5d40ab474d74a9eba533fe0ae13eae38d12c165949440e2b322d1901b114e538ba81568e9ae953d74a67fc15c27d5c71a2582cb292881c56645a32036229ca717502ad1d35d2a7ae94cff82b84fab8e344b05965251038acc175899191b9bd0e66d1bcb9eb0b31dcd4641616d9f58c069960b2ca5a20715972eb132323737a1ccda37973d61663b9a8c82c2db3eb180d32c16594b440e2b2e5d6264646e6f4399b46f2e7ac2cc7735190585b67d6301a6582cb296881c565c46d72175b34109eb35a484ed7bf71664de4d6769fac7a74db059652e1038acb719c09b983ce4968e380f31d2ee4c54c468dd2ad0f590f29c60b2ca5d2071596d3381373079c92d1c701e63a5dc98a988d1ba55a1eb21e538c16594ba40e2b2da67026e60f3925a38e03cc74bb9315311a374ab43d643ca7182cb297481c565b45a17356ebd8737298d3fb68f68c0ce1df32bb284ac8938e4059652ea038acb674040c38a5170f10ae7459516c7dfc4369299c106591415c90b2ca5d5071596cd0c93dfc1794464cd9b515225861db067d175de09b229cf9316594bab0e2b2d991927bf82f288c99b36a2a44b0c3b60cfa2ebbc1364539f262cb297561c565b32324f7f05e51193366d4548961876c19f45d77826c8a73e4c59652eac38acb664649efe0bca23266cda8a912c30ed833e8baef04d914e7c98b2ca5d5871596cc8555054c46aa8cf9181db4a5058392e77c3a03c98229e9d326594bab1e2b2d98f36b30235abb421dad07cbc98a6d084ea3382d52d453ede65cb297564c565b31d6d66046b576843b5a0f979314da109d46705aa5a8a7dbccb9652eac98acb663a66de618385330a230eb91a5a91a03ba37a4db0b214fd1d982ca5d5941596cc7359cf1bb3e0c896fdea385cad199e9f41a0ddbd6129fbdf31594bab292b2d98e53fb0901497f3b0b3a136e152299b667dedfdd6bf53f96263b2975653565b31c90b7378d60649e41f0f33ea9c4994f4f6883e097ba7f468c8652eaca7acb6639116e6f1ac0c93c83e1e67d5389329e9ed107c12f74fe8d190ca5d594f596cc7222dcde3581927907c3ccfaa712653d3da20f825ee9fd1a32194bab29eb2d98e445b9bc6b0324f20f8799f54e24ca7a7b441f04bdd3fa346432975653d65b31c884349e60d3b00c4a8c004d1bc8fad77633022f3b77f48308752eaca7bcb66390f12a624c74c640c094ccfcb7115b916c10c88436bfe92050fa5d594f896cc721d254c498e98c81812999f96e22b722d82191086d7fd240a1f4bab29f12d98e43a4a98931d31903025333f2dc456e45b0432210daffa48143e975653e25b31c87421437ee73982e30233448380a426de031084775cf491cc7e2eaca7c5b66390e74286fdce7305c60466890701484dbc062108eeb9e92398fc5d594f8b6cc721ce11205449bc6e0ec099d835fa86f9a006ee543970d248d5f9bab29f17d98e439b2240a89378dc1d8133b06bf50df3400ddca872e1a491abf375653e2fb31c873644815126f1b83b026760d7ea1be6801bb950e5c3492357e6eaca7c5f66390e6c1514fafab9d2f8bc9b87d7cc2e2b28321ee42783924853ced594f8bfcc721cd72a29f5f573a5f179370faf985c5650643dc84f072490a79dab29f17f98e439ae5453ebeae74be2f26e1f5f30b8aca0c87b909e0e49214f3b5653e2ff31c8735c34ba3082a4fa489ca904e65967b7698ba363981992444277aca7c5ff6390e6b76974610549f491395209ccb2cf6ed31746c73033248884ef594f8bfec721cd6e5efb1ab76a4ba52a70d9c15d953bce2939d0bc634912addfb29f17fe8e439adb4a088e1baaf9cd0cae79aab320d5c44d1fe3d4c39226ffc0653e2ffe1c8735b5202374e42c561cd129b97d5e3809b094ec0a0584244fa381ca7c5ffd390e6b694046e9c858ac39a25372fabc70136129d8140b08489f470394f8bffa721cd6d20ca02c3d87baf5fc73ac1d70d684ea4e5c6a720d9140320829f17ff5e439ada31940587b0f75ebf8e7583ae1ad09d49cb8d4e41b2280641053e2ffebc8735b463280b0f61eebd7f1ceb075c35a13a93971a9c8364500c820a7c5ffd790e6b68c650161ec3dd7afe39d60eb86b4275272e353906c8a0190414f8bffaf21cd6d1856151c855211e27f0787ff055eaccce072e97cd61404c4839f17ff5f439ada2f383c91b77a8647b5dbd62602b3b7c1bb921555a9280b2d083e2ffebf8735b45d7079236ef50c8f6bb7ac4c05676f8377242aab5250165a107c5ffd7f0e6b68ba6d049f8ac07ba18f3c1ec002c53d2ee8f497b2a1a02e5821f8bffaff1cd6d173661b97c25759c5d64503a7fd80d885cc9571c140405e5444f17ff5ff39ada2e55849883185160e6456cd77f2f80f3393d725de7d80be4c8ae2ffebff735b45c93ca5690fe08e9f807a6117dde67c8f225a8e18f8017e3d16c5ffd7ffe6b68b91055d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d17210aba55992eff83718310af6786ae8c7ec2bd1bda05fc3c5d17ff60019ada2e421574ab325dff06e306215ecf0d5d18fd857a37b40bf878ba2ffec00335b45c842ae95664bbfe0dc60c42bd9e1aba31fb0af46f6817f0f1745ffd80066b68b90855d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d1721037b7b23fc65ab9cffdd11e706146efe6d814199d5fc569d27ff6001aada2e41f6f6f647f8cb5739ffba23ce0c28ddfcdb028333abf8ad3a4ffec00355b45c83e6af121abefcd69f7c40aa1b97b79e7960c92c2727f174b4affd8006bb68b907b61f49c04b5fd56a754db6b6aed51f726c567e0e1fe303a96ffb000d86d1720f54ffb90b6425d3006767cfecdd102164837121dc0fc62192eff6001b1da2e41e92c097a195b1ce2c4b9c025939862548b1a66977ef8c5d65efec00364b45c83d15812f432b639c58973804b2730c4a91634cd2efdf18bacbdfd8006c968b907a23c38411242d60dcab3c6be4657e77a2715dcb9f8e318fd7cfb000d93d1720f430482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e850905b5a2b81d3c9a68a749094c5a3891aff79fdd8c673df5ec00365145c83d0a120b6b45703a7934d14e921298b471235fef3fbb18ce7bebd8006ca28b907a142416d68ae074f269a29d24253168e246bfde7f76319cf7d7b000d9451720f428482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e8501c6db2d858364c5e573ab88cbc01b115abbc59d5c675835fc00365155c83d09f38db65b0b06c98bcae7571197803622b5778b3ab8ceb06bf8006ca2ab907a13e71b6cb6160d931795ceae232f006c456aef1675719d60d7f000d9455720f427c6f7fef6f9814e5aa869bec5dd66bb0a80a252aab33adbeff001b28abe41e84f76b12378c068c4e0cd9fe00b3a335894ac08cb153675d21ff00365158c83d09ed6236c7c4e37b1ed180c2295f3cc93a902d5bbea3cebbe7ff006ca2b2907a13d9507fe8369d58c05ace4a7ab66ff09d1b06f9d9449d7973ff00d9456620f427b12d12291a1114036d695b1d64d63f6230ba360e863af48bff01b28acd41e84f615a245234222806dad2b63ac9ac7ec461746c1d0c75e917fe0365159a83d09ec2405afd151ab2906d72329d8b4f5bb0bd951a9615ebd3d3fd06ca2b3607a13d830cc852d70bc7a392b12b630e95158975d6778828d7a94bfb0d94566d0f427b051990a5ae178f47256256c61d2a2b12ebacef1051af5297f61b28acda1e84f60a33214b5c2f1e8e4ac4ad8c3a545625d759de20a35ea52fec365159b43d09ec14664296b85e3d1c95895b1874a8ac4baeb3bc4146bd4a5fd86ca2b3687a13d8285897861d92dcbbe2df7c58e147b6bf5813bade8a7a9663b1d94566d1f427b04f3d4164e7fc1bfa7d8bbed9ba85cba6aad3b81911f52e6b64b28acda4e84f609d0695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec1390d2a44f99d34ef65c887b6da03eaeaa0a7651c41d4bcf594ca2b3695a13d82721a5489f33a69decb910f6db407d5d5414eca3883a979eb2994566d2b427b04e434a913e674d3bd97221edb680fabaa829d94710752f3d65328acda5684f609c8695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec13905eb6a846a9b1791455419598350cd2052294201a4bd0fd4da2b3695b13d8271f497fa93a29c574e0774953286077cc04f16a9c3197a39e9c4566d2b727b04e3d1f11ab2129ed6c78bb58ce48b74dc0048f1794602f48e1398acda56f4f609c793e23564253dad8f176b19c916e9b80091e2f28c05e91c273159b4ade9ec138f2085905317e18349aba29611ad395280ce8a0ad7dbd2528e72b3695be3d8271e310b20a62fc3069357452c235a72a5019d1415afb7a4a51ce566d2b7c7b04e3c6216414c5f860d26ae8a5846b4e54a033a282b5f6f494a39cacda56f8f609c78c42c8298bf0c1a4d5d14b08d69ca9406745056bede929473959b4adf1ec138f1811a2abc4b7e5cc636f5c39a52fb0a8c9364d33d8d2543273b3695be4d8271e2f234557896fcb98c6deb8734a5f6151926c9a67b1a4a864e766d2b7c9b04e3c5e468aaf12df97318dbd70e694bec2a324d934cf634950c9cecda56f93609c78bc1927b6d29590e5d347a7f52173e36e445eabfac392a3379e9b4adf27c138f177324f6da52b21cba68f4fea42e7c6dc88bd57f58725466f3d3695be4f8271e2ee649edb4a5643974d1e9fd485cf8db9117aafeb0e4a8cde7a6d2b7c9f04e3c5dc55500f4182e9b1520a05d10395799a1da1a23219951b60f5da56f93f09c78bb736b2772fdc35e55be0d1c9ff21515c35ef86c0302a3865ecb4adf27f138f176d6d64ee5fb86bcab7c1a393fe42a2b86bdf0d80605470cbd9695be4fe271e2eda66dc356c473a1827500d4ff47ba398d26a5d5cbda8e33bb3d2b7c9fd4e3c5db359cac38564d6b3066ce0c7e0eda5599f80fd157851c81b68a56f93fb9c78bb653fa7dfb7a00fe8c4a687b7b9d1a8db39ae3c86eda391dad24adf27f838f176c90b62181c1682544119d5976b99afde6e08bb69d8472559a595be4ff171e2ed9116c430382d04a88233ab2ed7335fbcdc1176d3b08e4ab34b2b7c9fe2e3c5db222d8860705a09510467565dae66bf79b822eda7611c95669656f93fc5c78bb6445b10c0e0b412a208ceacbb5ccd7ef37045db4ec2392acd2cadf27f8b8f176c884233da6e3e87c6c96a1f9eb1915c0edb37f8f98172573e5a5be4ff181e2ed90f107a0d895372104aa105655b191645b11c344effe4b020b5b7c9fe313c5db21d20f41b12a6e42095420acab6322c8b6238689dffc960416b6f93fc6278bb643a41e836254dc8412a8415956c645916c470d13bff92c082d6df27f8c4f176c8740fe2c4f771f3050cd4f152d0bf1055838de4d3fc2582a9aebe4ff18ae2ed90e71fc589eee3e60a19a9e2a5a17e20ab071bc9a7f84b05535d7c9fe315c5db21ce3f8b13ddc7cc143353c54b42fc41560e37934ff0960aa6baf93fc62b8bb6439c0b28806865faab1e7450be7deee0d4171b68fbde2c16f176f27f8c58176c8737165100d0cbf5563ce8a17cfbddc1a82e36d1f7bc582de2ede4ff18b02ed90e6e2ca201a197eaac79d142f9f7bb83505c6da3ef78b05bc5dbc9fe31605db21cdc594403432fd558f3a285f3ef7706a0b8db47def160b78bb793fc62c0bb6439b83e9a5f33360d349f11d20fd6e46b696c62d219dfc170bb7027f8c58276c8736f09471713427cebf5f06a47a5bf34fad371e68fbc82e31ae14ff18b05ed90e6dd128e2e2684f9d7ebe0d48f4b7e69f5a6e3cd1f7905c635c29fe3160bdb21cdba251c5c4d09f3afd7c1a91e96fcd3eb4dc79a3ef20b8c6b853fc62c17b6439b744a38b89a13e75faf83523d2df9a7d69b8f347de41718d70a7f8c582f6c8736e82083c9e0fe314216d36aa253e9add531caab57c52e335215ff18b05fd90e6dcf410793c1fc62842da6d544a7d35baa639556af8a5c66a42bfe3160bfb21cdb9e0e218030cf278b131a70b1479d157cc1d6efbb11b8ceec58fc62c1806439b73b1c4300619e4f162634e1628f3a2af983addf7623719dd8b1f8c58300c8736e76388600c33c9e2c4c69c2c51e7455f3075bbeec46e33bb163f18b060190e6dcec710c0186793c5898d3858a3ce8abe60eb77dd88dc67762c7e3160c0321cdb9d86e2a5bb9c8db33e973d13c71c7b5f4181b3e0d188cf06990c62c1807439b73af686710206818ea8ab468a0db85ca102ae2be762e19e277228c58300f8736e75d5ce078eda69457cd359769af01f2485071bf485933c6924618b060200e6dceb945d34a88238b325237f4fb55fa42b89b8fc0ecaf678ec88d3160c0411cdb9d7117b8edbd1d78e75c3cb01ea3eae39931cbc4355bcf1f351b62c1808339b73ae12f71db7a3af1ceb879603d47d5c7326397886ab79e3e6a36c5830106736e75c25ee3b6f475e39d70f2c07a8fab8e64c72f10d56f3c7cd46d8b06020ce6dceb8449d9c695c229bd99b2471d174d7af1890a6406db78fb4cdc160c041acdb9d7071fc5e5d85ab5fdeb3154622691540b0cc10a69b3f1f83db92c1808369b73ae0d3f8bcbb0b56bfbd662a8c44d22a816198214d367e3f07b725830106d36e75c1a0b29f00e413a7a649217b0923bae542db06c02ccc7e29ae5b06020db6dceb8331653e01c8274f4c9242f6124775ca85b60d805998fc535cb60c041b6db9d70662ca7c03904e9e992485ec248eeb950b6c1b00b331f8a6b96c180836db73ae0cc594f807209d3d32490bd8491dd72a16d836016663f14d72d830106db6e75c1983eb15990ea0a2900ee41311bb1436ad5b30288c97e2b525c06020db7dceb832f09750bceaa76d4b9a9488a2f58e4fda612476d8ffc5848b90c041b70b9d7065d12ea179d54eda9735291145eb1c9fb4c248edb1ff8b09172180836e173ae0cba25d42f3aa9db52e6a52228bd6393f698491db63ff16122e430106dc2e75c19744ba85e7553b6a5cd4a44517ac727ed30923b6c7fe2c245c86020db85ceb832e8236315977dcfce52614ecaed84ae025bd0b934fcc5862f91c041b70c9d7065cf46c62b2efb9f9ca4c29d95db095c04b7a17269f98b0c5f2380836e193ae0cb9e199eaf0acda1bc01520153ae09163169ef272ff0161a62480106dc3375c1973b333d5e159b437802a402a75c122c62d3de4e5fe02c34c490020db866eb832e76667abc2b3686f00548054eb82458c5a7bc9cbfc058698920041b70cdd7065cec5907d103437062c25cd0c5683f0fb34a257bdb7db0d4b6410836e19cae0cb9d73e21fab35d43483c8667b2c8747d8e8ef73a12f861ab1083106dc33a5c1973ad08564e1390e91330d9958d88df5945189ab681edc357c50720db8675b832e75910ac9c2721d22661b32b1b11beb28a31356d03db86af8a0e41b70ceb7065ceb22159384e43a44cc3665636237d6514626ada07b70d5f141c836e19d6e0cb9d6442b2709c87489986ccac6c46faca28c4d5b40f6e1abe283906dc33adc1973ac8117739e5e4f3b5c5661f0085ebf2798457aa7ad9357df4730db8675c832e758f22ee73cbc9e76b8acc3e010bd7e4f308af54f5b26afbe8e61b70ceb9065ceb1e45dce79793ced715987c0217afc9e6115ea9eb64d5f7d1cc36e19d720cb9d63c17cc27dbfe0030e2fdbe2c2755f1f41d699632c6abf147996dc33ae51973ac772f984fb7fc0061c5fb7c584eabe3e83ad32c658d57e28f32db8675ca32e758ee5f309f6ff800c38bf6f8b09d57c7d075a658cb1aafc51e65b70ceb9465ceb1dc4a73978cc66409cfbab78932a5edc8e5f8f3f2325f8be0cc6e19d729cb9d63b720f987c6632a965742353a5d4239b9c69e2a4061bf196599dc33ae54973ac76d41f30f8cc6552cae846a74ba8473738d3c5480c37e32cb33b8675ca92e758eda0ff877c6630cdc14d59b116cff450f1524eb5d83fc673a6870ceb9535ceb1db31ff0ef8cc619b829ab3622d9fe8a1e2a49d6bb07f8ce74d0e19d72a6b9d63b663fe1df198c337053566c45b3fd143c5493ad760ff19ce9a1c33ae54d73ac76cc0bd616dfeec9635e799eb35ff086a0a3d39d481ce33b77448675ca9be758ed9717ac2dbfdd92c6bcf33d66bfe10d4147a73a9039c676ee890ceb9537ceb1db2e2f585b7fbb258d79e67acd7fc21a828f4e7520738ceddd1219d72a6f9d63b65c5eb0b6ff764b1af3ccf59aff8435051e9cea40e719dbba2433ae54df3ac76cb84973c6abc2f8b89f66b15df6fec83237e616ddcb33b91849675ca9bf758ed96f1ef9e6045c53f3f69a28e3e5f3ee8c6a787017936773d493ceb9537feb1db2dd3df3cc08b8a7e7ed3451c7cbe7dd18d4f0e02f26cee7a9279d72a6ffd63b65ba07f9f0be47b252923569b78fc61859a48e02ba4a9dd0f6503ae54e00ac76cb730ff3e17c8f64a5246ad36f1f8c30b3491c0574953ba1eca075ca9c0158ed96e61fe7c2f91ec94a48d5a6de3f18616692380ae92a7743d940eb953802b1db2dcc3fcf85f23d929491ab4dbc7e30c2cd247015d254ee87b281d72a700563b65b980bb164915187abdb2361a0f457e3c2438c6e00a6dd110904ae54e00bc76cb72f1762c922a30f57b646c341e8afc7848718dc014dba2212095ca9c0178ed96e5e2ec59245461eaf6c8d8683d15f8f090e31b8029b74442412b953802f1db2dcbc5d8b248a8c3d5ed91b0d07a2bf1e121c63700536e888482572a7005e3b65b9784728a1c1eedd406a02e0373d749a4c337322666ad112344be54e00bd76cb72ef1a639c30b41d038bd2869672df92c061928728d2a2260c98ca9c017bed96e5dd34c73861683a0717a50d2ce5bf2580c3250e51a5444c1931953802f7db2dcbba698e70c2d0740e2f4a1a59cb7e4b01864a1ca34a889832632a7005efb65b97745f2f3a32774a9f1660fadb8ef2f42b07407ba292113208c754e00be06cb72ee74a70cd11c4f7c0e48ebbdf15dc467e092d39a1212265b58fa9c017c1d96e5dcd20f3f2d060520480ea3de623aeeb240d06b59e3f44cd0f2053802f84b2dcbb9941e7e5a0c0a40901d47bcc475dd6481a0d6b3c7e899a1e40a7005f0965b977320fe223ee57aa94bb75bdc086b20ab82ec718d4fa1335e0824e00be13cb72ee631fc447dcaf552976eb7b810d6415705d8e31a9f4266bc1049c017c2796e5dcc63f888fb95eaa52edd6f7021ac82ae0bb1c6353e84cd782093802f84f2dcbb98c0b23781f93b728937ab42c2d86b3e970e50903cd99b0a8137005f09f5b9773171646f03f276e5126f568585b0d67d2e1ca12079b33615026e00be13eb72ee62e2c8de07e4edca24dead0b0b61acfa5c394240f3666c2a04dc017c27d6e5dcc5c591bc0fc9db9449bd5a1616c359f4b8728481e6ccd85409b802f84fadcbb98b83e49daa611d50bef7808ead0619cbf08fcd298d69b0c2538005f09f6b977316f08a60df8fa0c9a96bcd7fd98b997a60ca5e78daa3619ee7100be13ee72ee62dd114c1bf1f419352d79affb31732f4c194bcf1b546c33dce2017c27dce5dcc5ba229837e3e8326a5af35ff662e65e9832979e36a8d867b9c402f84fb9cbb98b7445306fc7d064d4b5e6bfecc5ccbd30652f3c6d51b0cf738805f09f73977316e81673383c772c2c239a4601838fd888c50abb36a061a08b110be13ee82ee62dcf2ce67078ee585847348c03071fb1118a15766d40c341162217c27dd05dcc5b9e59cce0f1dcb0b08e6918060e3f6223142aecda8186822c442f84fba0bb98b73c3fac1a908fc3e3d49ef6341475226e23021c11000d05fc895f09f74277316e770b6a8dcdf5ea4a610ab29020e0a30440b07a7dfd1a0d9d13be13ee85ee62dced16d51b9bebd494c215652041c146088160f4fbfa341b3a277c27dd0bdcc5b9da2daa3737d7a929842aca4083828c1102c1e9f7f46836744ef84fba17b98b73b45b546e6faf525308559481070518220583d3efe8d06ce89df09f742f7316e76842bb358c350728c877ef2a06008e6c05b3ea3bcea0db753ce13ee85fe62dcecf1188c3c54070d448bca47c03f77b00061416d39a41b88e7ac27dd0c0cc5b9d9d2311878a80e1a8917948f807eef6000c282da73483711cf584fba18198b73b3a46230f1501c35122f291f00fddec0018505b4e6906e239eb09f74303316e7674185876d6d9e924fdb1ea0817b236282b4cf8f8cf0dc617d713ee860762dcece730b0edadb3d249fb63d4102f646c505699f1f19e1b8c2fae27dd0c0ec5b9d9ce6161db5b67a493f6c7a8205ec8d8a0ad33e3e33c37185f5c4fba181d8b73b39c4ed60f63a5abaaa55c1668b5880f6955140a22756e3262b99f74303c16e7673729be777421b9d80284f2f963067cfaa4d456a0e7dc6669743ee860792dcece6d537ceee84373b00509e5f2c60cf9f549a8ad41cfb8ccd2e87dd0c0f25b9d9cda330c367d5d49e2c1e0920d841052128dfd9cdf9c719b49d1fba181e5b73b39b366186cfaba93c583c1241b0820a4251bfb39bf38e33693a3f74303cb6e767366584332a24b8a0dbf4f0e5e0837a67232a2b5da6ec66ecb48ee860797dcece6cb3c98bdf16d769e366ae2e40865ab0c5ff1ae10da8cdf3a92dd0c0f30b9d9cd950543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290a87a91f629f7e494517e011836881751f3cfb643380324d74303cc4e7673652150f523ec53efc928a2fc02306d102ea3e79f6c86700649ae8607989cece6ca42a1ea47d8a7df925145f80460da205d47cf3ed90ce00c935d0c0f3139d9cd948543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290348ceaa3005a674c1e4429102ce63f4ca01212403804c8d84303cc4f7673651f6919d54600b4ce983c88522059cc7e9940242480700991b08607989eece6ca3e5e460338d7cc1fe845d6cc38a9f7252d2c8aa4fde014c7620c0f313ed9cd947b489e5f1e85fac2885873c0694a4c72550557a5f8c02b32c5181e627eb39b28f51d4f16e9e25807c87dada8ca8af70ca4b6f1a7ee8058098b303cc4fe673651e93a9e2dd3c4b00f90fb5b519515ee19496de34fdd00b01316607989fcce6ca3d2014eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0a75a2a2fe150ece1be6591111d2d46c4047ddb80b0e516e07989fd4e6ca3d1814eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0336c82dcb7b36f998b2bb909138b6ebeb0c0377db0e6bae17989fd4f6ca3d17f66d905b96f66df33165772122716dd7d61806efb61cd75c2f313fa9ed947a2fe59c4641fb530411df9750c1c448be2f56f4339f3c39c8f86e627f53eb28f45fb3f9b20ec40c304f3bfb040307f75ede58ac8cfe4873ac30ecc4fea7e651e8bf50b489a8557e88c9f4c26a858f54a03c5c1d3fbc60e772a1e989fd4fdca3d17e91691350aafd1193e984d50b1ea94078b83a7f78c1cee543d313fa9fb947a2fd22d226a155fa2327d309aa163d5280f17074fef1839dca87a627f53f728f45fa45a44d42abf4464fa613542c7aa501e2e0e9fde3073b950f4c4fea7ee51e8bf48409c010254eb4cac8f30ad874afe6456c982185de77445ea89fd4fdda3d17e8f0d4a5ab180391c10eb2783068c5af0a83f468cb8ceea2fd613fa9fbc47a2fd1d1a94b56300723821d64f060d18b5e1507e8d19719dd45fac27f53f788f45fa3a35296ac600e47043ac9e0c1a316bc2a0fd1a32e33ba8bf584fea7ef11e8bf4746a52d58c01c8e087593c183462d78541fa3465c677517eb09fd4fde23d17e8e860b803c4d9f443c67f3e5860bc0d327ea0ab2789eea4a1623fa9fbc57a2fd1cf4d8260368a4b0a44cb42d8b96e788cf7ed98ab10dd4ae6c57f53f78bf45fa39d27171919eaf89741634bd96ad34f41ea8773b21eba97718bfea7ef18e8bf47394e2e3233d5f12e82c697b2d5a69e83d50ee7643d752ee317fd4fde31d17e8e72286ebd148244dfbd59f58da3439b2fa4ca112477ea5f6a30fa9fbc64a2fd1ce350dd7a290489bf7ab3eb1b4687365f49942248efd4bed461f53f78c945fa39c62dcd4cfedf7601ad349c5e8504cae68dd486eddca97f4cc4ea7ef1938bf4738b5b9a99fdbeec035a6938bd0a0995cd1ba90ddbb952fe9989d4fde32717e8e71643478ca8543a896c9f37a20c0989c231fe5e136fa5fed714a9fbc64f2fd1ce2b12a171fd7ed795910b356c100971ac5ea8fe82dc4bff522a53f78c9f5fa39c552542e3fafdaf2b22166ad82012e358bd51fd05b897fea454a7ef193ebf4738aa4a85c7f5fb5e56442cd5b04025c6b17aa3fa0b712ffd48a94fde327d7e8e7154211de898cd1f2f402671887841eb8aeff43672df5ffc35539fbc64fbfd1ce2a7423bd1319a3e5e804ce310f083d715dfe86ce5bebff86aa73f78c9f7fa39c54e1089fb100adf3fb8668c49d8fe0c53ba7d1c277a7ff2794f7ef193f0f4738a9b2113f62015be7f70cd1893b1fc18a774fa384ef4ffe4f29efde327e1e8e715364227ec402b7cfee19a312763f8314ee9f4709de9ffc9e53dfbc64fc3d1ce2a6c1062312d2d5c807b012876bfe6c0c5ce952397d0ff956e7cf78c9f88a39c54d720c4625a5ab900f60250ed7fcd818b9d2a472fa1ff2adcf9ef193f114738a9ae4188c4b4b57201ec04a1daff9b03173a548e5f43fe55b9f3de327e228e71535c0f23e2164146868fd609ddf72c64566f555f1a84fcad17e8bc64fc461ce2a6b71e47c42c828d0d1fac13bbee58c8acdeaabe3509f95a2fd178c9f88c39c54d6e3c8f8859051a1a3f582777dcb19159bd557c6a13f2b45fa2f193f118738a9adc0531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70a62d2bdc12d6e6cfa2a2f62b301b6eaae766049cad4c68dc64fc463ce2a6b6e14c5a57b825adcd9f4545ec566036dd55cecc09395a98d1b8c9f88c79c54d6dc298b4af704b5b9b3e8a8bd8acc06dbaab9d981272b531a37193f118f38a9adb8531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70323f8488e93969876f691e23267996a593a86099ad4e0cdd64fc463de2a6b6df647f0911d272d30eded23c464cf32d4b2750c1335a9c19bac9f88c7bc54d6dbe55106ad07b4828d58a6aa08490448290fae3de63b539d77693f118f88a9adb7b36332e4dccf2d462e19b690116e72d1ca20a18c46a7552ee27e231f21535b6f56c665c9b99e5a8c5c336d2022dce5a3944143188d4eaa5dc4fc463e42a6b6dea64df11e40a2dd4435333cbfc51fadc6d346abf0ea9d6efb99f88c7c954d6dbd355d07c74eabe2b3e732dbff09a53e0d51517da1a53af83743f118f93a9adb7a537b35196abded934b321a7d92b05e9a4d6721031a760aae97e231f28535b6f496f66a32d57bdb26966434fb2560bd349ace420634ec155d2fc463e50a6b6de926adf9f0785dde78a994cc75ca275ce8e060a9cc39d844fa6f88c7ca24d6dbd2361d196bbe21e51ccff5fb6b13b49c516b85795843b0a434ef118f9459adb7a454fb586249a9f2651cb85955a6cf1b2281cf1870576162a9ee231f28c35b6f4892b7d64f60ba0cf5b63d152acd0418c4ae6256a07ec2df93ec463e5196b6de91156fac9ec17419eb6c7a2a559a0831895cc4ad40fd85bf27d88c7ca32d6dbd2223a07ec8504e5c0255c0b72ab3764592644d8041cb0b988fc118f9466adb7a443002231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0014d9342d8e6e8ccb40fb618c91c744d275d33582d2d9888d7ca3396ebd2213ff29b2685b1cdd199681f6c319238e89a4eba66b05a5b3111af94672dd7a4427fe5364d0b639ba332d03ed8632471d1349d74cd60b4b662235f28ce5baf4884ffc32dbfa1949d6e911d4a1345c84984e8e5adc081396cde86ce519cb76e9109ff765b7f43293add223a94268b909309d1cb5b810272d9bd0d9ca3396edd2213fee57824111fdbe26ff1f4af96a08bf623417b27c4b5b3945b494672ddca4427fdb3b16dad0d1ded0b60b5c1acc07dcec62dba75493b6742f6a28ce5bba4884ffb502400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed209003939e880908f8df97640186003018e441491b3a80b554672ddd64427fda412007273d101211f1bf2ec8030c006031c882923675016aa8ce5bbac884ffb482400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed201c15ec4b5e6b8bb0ac5d8bf97c5e58139083a5183a825955672ddd65427fda3f382bd896bcd7176158bb17f2f8bcb02721074a307504b2aace5bbaca84ffb47e7057b12d79ae2ec2b1762fe5f179604e420e9460ea0965559cb7759509ff68fc6cc1bb07c9bee03d2fb287c3d950e897305f84bed4146eac396eeb2b13fed1f76595cebc69e043322c2b377fa8fff9290d01657aa82a815972ddd65727fda3ed573df625aa23091c251c96f7485e1a4cc64526f25056a6b3e5bbacaf4ffb47d93a8e44f82aa894f016ff55e6871a5c9438cca9e1a0aef168cb77595f9ff68fb1012ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d84097714e95d9d64bfd6269e2824970918eedd7e020afc3694b7759601ff68fb0812ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d8402383a742b038ceb52f300a7a3fceb9899a1a3c1dafc50d4c77596020f68fb07f47074e8560719d6a5e6014f47f9d73133434783b5f8a1a98eeb2c041ed1f60fe1a20f5b79745bd8c898651e0f5990e2114ab4c73bf15d932dd658084da3ec1fb3441eb6f2e8b7b19130ca3c1eb321c42295698e77e2bb265bacb0109b47d83f66883d6de5d16f63226194783d664388452ad31cefc5764cb7596021368fb07ec5d1a066990906f1c18f8b6ffa3269903519cbf9af8b06d97eb2c0427d1f60fd74646657ff78360effeb795f73cab5a014f7bdb32f1627f30d6580850a3ec1fad189f23acc5694497ca3553e66fb4dbfd4b3a1262e2c6a262acb010a247d83f59313e47598ad2892f946aa7ccdf69b7fa967424c5c58d44c5596021448fb07eb2627c8eb315a5125f28d54f99bed36ff52ce8498b8b1a898ab2c042891f60fd64510b761301aca7761e70c72b740507e50612ef141636b716658085133ec1fac72e2944d2d9bbd1a409a7b64ede6837c4b8683a252c6f122dcb010a277d83f58d5c5289a5b377a348134f6c9dbcd06f8970d0744a58de245b9602144efb07eb1a44b76bf83d51c947f36501336fff070d8de34491b1bdecb82c04289ef60fd6331581309d51061547b3902a5ed65c3615c808e520637d7d715808513eec1fac652b02613aa20c2a8f672054bdacb86c2b9011ca40c6fafae2b010a27dd83f58ca5604c2754418551ece40a97b5970d857202394818df5f5c5602144fbb07eb194381bdd975e932cf569477aeea93fd8a8ec8985001bed8f8bc04289f860fd63277037bb2ebd2659ead28ef5dd527fb151d9130a0037db1f17808513f0c1fac64e6c81cf0a50af368d71e413b29b5d8a9e5e686ffd6fb7e230010a27e283f58c9b6515f6c177c0efd2b08e4f5d2d193d3769133bf7df71686102144fc607eb1935563e462fc5e4625d2de2c6b25090a2697e68d3ecbee474c304289f8d0fd63269388ee50c622b4772288bb55c977f6ccda91403d67dca8d8708513f1b1fac64d1711dca18c4568ee451176ab92efed99b522807acfb951b0e10a27e363f58c9a26e4decde5f0fa0806ef4fd6a545bdb3150926b56f72bda1d2144fc6d7eb1934368ae32699481c3b8aab022cc9f15de5d4d6732aaee59583b4289f8dbfd6326855d6ebd7fff660a2922266d913489e4b54710c152dcb454778513f1b8fac64d0946efd3acd52e970a1113031a5f71f1653a63dea2b96a4cf00a27e372f58c9a1119f2000680bfb0cbeeec2e2cb5420ac5210a194272d63de1144fc6e6eb19342133e4000d017f6197ddd85c596a84158a42143284e5ac7bc2289f8dcdd632684267c8001a02fec32fbbb0b8b2d5082b1484286509cb58f784513f1b9bac64d0845ba258e0dc6009174427995da06e7e23b493261096b39309a27e373858c9a10743570a6e8f2294e655155ab3373b24421568a81e2d68ca1444fc6e71b193420d12c06d89f4a7ac8476f0dd5e64d4707ed713ac395ad3382989f8dce4632684192580db13e94f5908ede1babcc9a8e0fdae275872b5a6705313f1b9c8c64d08324b01b627d29eb211dbc375799351c1fb5c4eb0e56b4ce0a627e373918c9a10642215c4fc7b9fe6db844d12eb1d01abf164dfbdc7d69b654d4fc6e724193420c7442b89f8f73fcdb7089a25d63a0357e2c9bf7b8fad36ca9a9f8dce483268418e14696c9ec4e21e25ddfa73a46a64d7c03fc1531c5a6f39363f1b9c9164d0831b28d2d93d89c43c4bbbf4e748d4c9af807f82a638b4de726c7e373922c9a1063651a5b27b1388789777e9ce91a9935f00ff054c7169bce4d8fc6e724593420c6c2f5dbda2fd7373e6bc99c51b4984e5fcaa4cf4dfd37b6db2f8dce48c268418d75ebb7b45fae6e7cd79338a369309cbf95499e9bfa6f6db65f1b9c9184d0831ae49894f38cc305252bf2d3c651c71bfed55762f7c4def5acce37392319a10635b1f24f71e6ec3275d4b20a0c22f41a7d5572ebaf59be0599ac6e724643420c6b53e49ee3cdd864eba964141845e834faaae5d75eb37c0b3358dce48c868418d6a08a63526916f202cf948ab00b364c75008fd47d36f830a6c1b9c9191d0831ad3114c6a4d22de4059f291560166c98ea011fa8fa6df0614d837392323a10635a62298d49a45bc80b3e522ac02cd931d4023f51f4dbe0c29b06e724647420c6b4c4531a9348b790167ca4558059b263a8047ea3e9b7c185360dce48c8e8418d6981675ab15ed5485876150d8032caa9cfb3c16d933f8324ac2b9c9191e0831ad2f2ceb562bdaa90b0ec2a1b006595539f6782db267f06495857392323c10635a5e59d6ac57b552161d8543600cb2aa73ecf05b64cfe0c92b0ae724647820c6b4bc3fbfb15c4106aef2d74ce8115bb30fd48cf9259cc193fa16ce48c8f1418d69770b91bb65586fe09d7b5ff81aadc447a3c634a7368329982e9c9191e3831ad2ed172376cab0dfc13af6bff0355b888f478c694e6d0653305d392323c70635a5da2e46ed9561bf8275ed7fe06ab7111e8f18d29cda0ca660ba7246478e0c6b4bb45c8ddb2ac37f04ebdaffc0d56e223d1e31a539b4194cc174e48c8f1c18d69768452e0f025d608c8f82c5a9a2d2a2a2370f8ccf65329b26eac9191e3931ad2ecf166e76b191239bd6d2517b3d9ba36c68cb5bfac76537f1d692323c73635a5d9d2cdced63224737ada4a2f67b3746d8d196b7f58eca6fe3ad246478e6c6b4bb3a59b9dac6448e6f5b4945ecf66e8db1a32d6feb1d94dfc75a48c8f1cd8d6976743f860e395f7f616e5f5201e4d3798b410722323829c132b59191e39c1ad2ece70b1e751f956145948b6a2bc19d513e7cba86c06d5384096c2323c73935a5d9cd163cea3f2ac28b2916d457833aa27cf9750d80daa70812d846478e726b4bb39a2c79d47e558516522da8af067544f9f2ea1b01b54e1025b08c8f1ce4d697673458f3a8fcab0a2ca45b515e0cea89f3e5d436036a9c204b61191e39c9ad2ece683df9aaa62c76dc008368e411cb720fc654ae62d238423ac3323c73945a5d9ccf0805adf92f503ab8d397f01b8d424787559f21a1708619876478e729b4bb399d100b5bf25ea07571a72fe0371a848f0eab3e4342e10c330ec8f1ce536976733a2016b7e4bd40eae34e5fc06e35091e1d567c8685c218661d91e39ca6d2ece674402d6fc97a81d5c69cbf80dc6a123c3aacf90d0b8430cc3b23c7394da5d9cce80c6d383fcb662e45064529b0ca82a0700634761408633c77478e729c4bb399cf18da707f96cc5c8a0c8a5361950540e00c68ec2810c678ee8f1ce5389767339e31b4e0ff2d98b9141914a6c32a0a81c018d1d850218cf1dd1e39ca712ece673c6369c1fe5b31722832294d865415038031a3b0a04319e3ba3c7394e25d9cce7852e5dca98cc567083118c3049e882efb0f89bd3d86356b7578e729c5bb399cef31de11ffefed50c82ef7ae01336e85f0cb55d6780c6c7aebf1ce538c767339dd63bc23ffdfdaa1905def5c0266dd0be196abacf018d8f5d7e39ca718ece673ba538aa0ac9617c5d888a4dffcc4183fbdd999b5dd31b38fb0c7394e32d9cce77333279a0602920e68de0fe7f17e8ea7765f75c7b76368c3628e729c66b399cee5664f340c05241cd1bc1fcfe2fd1d4eecbeeb8f6ec6d186c51ce538cd67339dca58b0c0c4e0aabc5b4505c7bdf098c5d42a197ada8da4b18b39ca719bce673b933d73da3697b7fb6e56d1b773d78fb3a3007551b21b4b07177394e3389cce772506fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee490df41a340ba4f328f4d32dbf4afb1e815a59fec26d2f645fce538ce47339dc921be834681749e651e9a65b7e95f63d02b4b3fd84da5ec8bf9ca719c8e673b92437d068d02e93cca3d34cb6fd2bec7a056967fb09b4bd917f394e3391cce772486fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee4906b53fbed90b1b54719f903eca610101051e24823d2f7e9fde538ce48339dc91f62ba5087f7c5ed4600b82fd1427e481b5006ec44a5f177fcca719c91673b923d5186f9bcc5ee5d43ce36879a7b5ab8314c5034864be493fa94e33923ce7724792f204c26623f3d3f6933372ced13985d44e2c50997cacbf629c672489cee48f15e40984cc47e7a7ed2666e59da2730ba89c58a132f9597ec538ce49139dc91e2489389465f5f77b5719304abaaac896fbfcd70235f2cd3d9a719c92373b923c31d396b3995217222afec314f4bb73ada2bdd3c43be5b4bb44e339247e77247853a72d6732a42e4455fd8629e976e75b457ba78877cb697689c67248fcee48f0a00f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c07c02c9957425a1463b769a929d89b1addba685fcb769691c6724904ee48f0980f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c0081522424a8823fe083cc28a93e7d9a887e8e1f9b76b0d1d6724904fe48f097f102a4484951047fc1079851527cfb3510fd1c3f36ed61a3ace49209fc91e12fe205489092a208ff820f30a2a4f9f66a21fa387e6ddac34759c92413f923c25fc40a9121254411ff041e614549f3ecd443f470fcdbb5868eb3924827f24784bf80d647cd17ee4c298509250a134dbc2832ad07b9876b275d7724904ff48f097ef1ac8f9a2fdc98530a124a14269b7850655a0f730ed64ebaee49209fe91e12fde3591f345fb930a6142494284d36f0a0cab41ee61dac9d75dc92413fd23c25fbc6b23e68bf72614c284928509a6de14195683dcc3b593aebb924827fa4784bf78625a25c4c4aeac3cd5eb320b441a502d594a15846b29017824904ff58f097eef50c6a4365fbfdb31789c8c0e7e92c8555ed68705d653a6f149209fec1e12fddd2d9fa11995e2391abdff4014f383b8a569ef6a08aca8f1e392413fd93c25fbb95b3f42332bc472357bfe8029e707714ad3ded4115951e3c724827fb2784bf7724290dd132deb6722c4c3284bc46d0a905400041fb2a56b8f4904ff65f097eee3113412d3323950fd564c788f7f383d1b5442643c654c7b1f9209fecce12fddc5226825a66472a1faac98f11efe707a36a884c878ca98f63f2413fd99c25fbb8a44d04b4cc8e543f55931e23dfce0f46d510990f19531ec7e4827fb3384bf771415b2ef46682d0aa27f29ec73f02010d54e557de02a657cfd904ff668097eee272b65de8cd05a1544fe53d8e7e04021aa9caafbc054caf9fb209fecd012fddc4e56cbbd19a0b42a89fca7b1cfc08043553955f780a995f3f6413fd9a025fbb89c39a9d2e017cad7cbc6158b97775eaea51eee4afe532d8bed827fb3414bf771377353a5c02f95af978c2b172eeebd5d4a3ddc95fca65b17db04ff668297eee26e72b9a42d358de1e6e51c5655d3d8e28f27fb87f64cb7d3b709fecd062fddc4db7185a107417e468596fed4a39e0fed18fc396be999714b6f13fd9a0d5fbb89b56f1d9abb595f0fc2fac3d13f327e022ca4b533d032e43adf27fb341bbf7713696a4d8e238920a23dc24dca765b5a2c53f5acc39d65ca19bf4ff668387eee26d160ad74f3e8a3c7335161bce4ad1280a2979be337cb95d77f9fecd071fddc4da14d6d4294a7aa111e6f89a1c15083293fdb7a226c972d53003fd9a0e4fbb89b4126ecddd625b6a4f4abd96b7a97647a7a6336a0d62e5c4a017fb341caf77136814dd9bbac4b6d49e957b2d6f52ec8f4f4c66d41ac5cb89402ff668395eee26d0227c5d0056d3d168a7c2bd5e253f011e4391cdf55b972cc06fecd072cddc4da034f8ba00ada7a2d14f857abc4a7e023c87239beab72e5980dfd9a0e59bb89b4062b2998c28b56dce1bd757f81461e6f8b90b5d953e5ccd41cfb341cb47713680b5653318516adb9c37aeaff028c3cdf17216bb2a7cb99a839f6683968ee26d01638b8bbb703bdf63ec29c25fd0ed7e628ef19c14c9734f474ecd072d2dc4da02b7171776e077bec7d85384bfa1dafcc51de3382992e69e8e9d9a0e5a5b89b40566ef54788e55a5bb2d736bfec31bdc09e68a9612f5cd575d4b341cb4c713680ab69fce7bea1173a1d7b33a7d059d9a9377d951e5bb9ac8faa66839699e26d0155600c282a1890f6f2c32d7798aa117a69a76c98b4735ac355cd072d34c4da02a94c2aa9010784709d532117294a811ccdfb1b8d65e6b72aac9a0e5a6a89b405512467aaaee56b63f27308564a8b606196a27976c8cd6ff95a341cb4d613680aa148cf555dcad6c7e4e610ac9516c0c32d44f2ed919adff2b4683969ac26d015421db103686c10128198e7812223dfae553628372035c18969d072d3594da02a833b6206d0d820250331cf024447bf5caa6c506e406b8312d3a0e5a6b29b40550602d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d0154160b59993a1a8b32f8c190b2021773853e138ce1f75c1f26a1072d3598da02a82c16b33274351665f1832164042ee70a7c2719c3eeb83e4d420e5a6b31b40550582d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d015416041abec4e7f15b243e5d148196d967bdbe5107b72c1f40e1172d3598ea02a82bf0f6a3149d48de73f9868b82ad18b1fb2766352e283e9c023e5a6b31e4055057d1ed46293a91bce7f30d17055a3163f64ecc6a5c507d38047cb4d663c80aa0afa3da8c52752379cfe61a2e0ab462c7ec9d98d4b8a0fa7008f969acc79015415f40763e2fb7ad1bcb4900be94e82b7258e5f5cf3111f4fa5202d3598f302a82be70ec7c5f6f5a379692017d29d056e4b1cbeb9e6223e9f4a405a6b31e6055057ce1d8f8bedeb46f2d2402fa53a0adc96397d73cc447d3e9480b4d663cc0aa0af9c3b1f17dbd68de5a4805f4a7415b92c72fae79888fa7d290169acc79815415f3802508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde094221920df938033612f380874203828846343bd3efd80f4d663cc4aa0af9bc128443241bf270066c25e7010e840705108c6877a7dfb01e9acc79895415f3782508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde0203471cdb5f602eb2df560006a7e602330a59fba3eff24f5d663cc4ba0af9bbf4068e39b6bec05d65beac000d4fcc046614b3f747dfe49ebacc79897415f377e0ce41fe3ae3a8e64849ba7f9a057a8876ed8dae5fbfe37d8598f312f82be6efb19c83fc75c751cc909374ff340af510eddb1b5cbf7fc6fb0b31e625f057cddf633907f8eb8ea3992126e9fe6815ea21dbb636b97eff8df61663cc4be0af9bbec6720ff1d71d4732424dd3fcd02bd443b76c6d72fdff1bec2cc79897c15f377d85a5456e7ba0b69001680a791fbd8b07199d00a5cbfe5218698f312f92be6efaf40bb067c4a7954b7f9c7771bee0f88dddfe270b67fcbe70e31e625f357cddf5d0d8865a56b552c27c055162fd27d39b66c073d69ff99721d63cc4be7af9bbeb91b10cb4ad6aa584f80aa2c5fa4fa736cd80e7ad3ff32e43ac79897cf5f377d7236219695ad54b09f015458bf49f4e6d9b01cf5a7fe65c8758f312f9ebe6efae46c432d2b5aa9613e02a8b17e93e9cdb36039eb4ffccb90eb1e625f3d7cddf5c86498b3038bb54533d2178af51e31c3616cb6329cf998c5d73cc4be7bf9bbeb8f5543beb3edcd0d1f70f53de232c1aebd85aec136f3332faf79897cf8f377d71d3699d614b1fc9cf6aeb0a3bc5be18575b79fde6ae668035ff312f9f2e6efae396d33ac2963f939ed5d614778b7c30aeb6f3fbcd5ccd006bfe625f3e5cddf5c726679b0ff9e54f6928788b6e965e43dd18ac1d5a899a1b180cc4be7cc9bbeb8e35905baac130c6fdcdbd795cac226a39dc1c6074e334507029897cf9a377d71c53e1dce04fc7b62718475538d7aab6f362fce6a99668bb206312f9f356efae389084df4b6cf59479ad5b0cf12ebb506670bdf312fcd19080d625f3e6bddf5c711109be96d9eb28f35ab619e25d76a0cce17be625f9a32101ac4be7cd7bbeb8e222137d2db3d651e6b56c33c4baed4199c2f7cc4bf34642035897cf9af77d71c44426fa5b67aca3cd6ad8678975da833385ef9897e68c8406b12f9f35eefae388810f1a419cbf6fc6527d31926b1ae8e6b6a356ef9d19224d725f3e6bedf5c710f21e3483397edf8ca4fa6324d635d1cd6d46addf3a32449ae4be7cd7dbeb8e21e43c690672fdbf1949f4c649ac6ba39ada8d5bbe74648935c97cf9afb7d71c43c139f797b361a65e10b5ef12d83d29b55fdedd3cb8c92caba2f9f35f7fae38877273ef2f66c34cbc216bde25b07a536abfbdba797192595745f3e6beff5c710ee4e7de5ecd86997842d7bc4b60f4a6d57f7b74f2e324b2ae8be7cd7dfeb8e21dc290e24868735b1c027bdb16414f302aa9bb0fa596497f9d27cf9afc0d71c43b7521c490d0e6b63804f7b62c829e605553761f4b2c92ff3a4f9f35f81ae38876e304aeac6f33949b86bbced884a2a32a51b06456292618b4af3e6bf045c710edb6095d58de6729370d779db109454654a360c8ac524c31695e7cd7e08b8e21db64d3e03c8a347a9997bb9de191f06f28f185b71874987d12ccf9afc1271c43b6b268e603e1cf1d5eac439e42a346c0d18dcf93f0b9311465a9f35f825e38876d54d1cc07c39e3abd58873c85468d81a31b9f27e1726228cb53e6bf04bc710edaa264bd9a54a29da62ddadb8a0c80e5c5e2027582b4c46bd6b7cd7e0988e21db534c97b34a9453b4c5bb5b7141901cb8bc404eb056988d7ad6f9afc1311c43b6a62541bf41ff09ec43437d0a7b169799732cdfbcaa311c99aef35f826338876d4b4a837e83fe13d88686fa14f62d2f32e659bf79546239335de6bf04c6710eda96211955b4d28a33c4daba51e450bc8dc75fc14ea5c4740abccd7e098de21db52b4232ab69a5146789b574a3c8a1791b8ebf829d4b88e815799afc131bc43b6a561077af80208b51cb37af6f8939505f182b47969411d1cef435f826388876d4ab20ef5f004116a3966f5edf1272a0be30568f2d2823a39de86bf04c7110eda95641debe00822d472cdebdbe24e5417c60ad1e5a5047473bd0d7e098e221db52ac0fcfd4addabd11118a41a441c0e120bc067f109d8e901ba2afc131c543b6a5571f9fa95bb57a22231483488381c241780cfe213b1d2037455f82638a876d4aae3f3f52b76af4444629069107038482f019fc42763a406e8abf04c7150eda955c0a90fe1bac4b0b441ed34a05fd672ddae03ae0e9748281167e098e2b1db52ab71521fc37589616883da6940bface5bb5c075c1d2e905022cfc131c563b6a556e2a43f86eb12c2d107b4d2817f59cb76b80eb83a5d20a0459f82638ac76d4aadc5487f0dd62585a20f69a502feb396ed701d7074ba41408b3f04c7158eda955b835223a679b1336f9b9fac857ccd105a8aff06a944829b568e098e2b2db52ab6f6a4474cf36266df373f590af99a20b515fe0d52890536ad1c131c565b6a556de609b424b42af5e9eb4b1495729a23e9d6c04064e20a879a482638acc6d4aadbb4d48dd435bc13ff53628baa649a2a535844a68994152974a04c71599da955b7526a413338de502a239179d4489a37265b4d72d2f82a6d295098e2b34b52ab6e94d4826671bca0544722f3a891346e4cb69ae5a5f054da52a131c56696a556dd226a2a57b0df68d40b1249d0a1cebf1917f9f10bb0a9cee552638acd3d4aadba34d454af61bed1a8162493a1439d7e322ff3e21761539dcaa4c7159a7a955b746269cee990e3cb7ba91589c206a0dee40aabe9ee92a755d5598e2b35052ab6e8b4d39dd321c796f7522b13840d41bdc81557d3dd254eabaab31c566a0a556dd16268613110f5561a2122898799e95e0fd573cd7a1a9d71957638acd424aadba2b4d0c26221eaac344245130f33d2bc1faae79af4353ae32aec7159a84955b7456262aa4f113b80940156889de70b5abf00935ba83a75e095e8e2b350a2ab6e8ab4c5549e2277012802ad113bce16b57e0126b75074ebc12bd1c566a14556dd15624bcec712542a7b822684f71b934d7bad119460b9d79c97b38acd429aadba2ab4979d8e24a854f7044d09ee37269af75a2328c173af392f67159a85355b745561f060a716b6d2198566765bedb3186e5f0a7742b75e8c9ede2b350a7ab6e8aab3e0c14e2d6da4330accecb7db6630dcbe14ee856ebd193dbc566a14f56dd1556082a8272841709192663bef3632443926ee02caad7a4cbb88acd429fadba2aab105504e5082e12324cc77de6c6488724ddc05955af499771159a853f5b74555620aa09ca105c2464998efbcd8c910e49bb80b2ab5e932ee22b350a7eb6e8aaac4154139420b848c9331df79b19221c9377016556bd265dc4566a14fd6dd155580eba7fd517d3144a3302172e28a261219a4526aa7a4e5f89acd429fbdba2aaaf1d74ffaa2fa6289466042e5c5144c243348a4d54f49cbf1359a853f7b745555e3ae9ff545f4c5128cc085cb8a289848669149aa9e9397e26b350a7ef6e8aaabc01e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee07995d5653ec9425935b85a4edc4c41df9ae454349d281399a853f7f745555dc0f32baaca7d9284b26b70b49db89883bf35c8a8693a50273350a7efee8aaabb81e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee005a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf0b505c242a578a2204fd048da554d3b48e4d60633a536f3550a7eff08aaabb7e16a0b84854af144409fa091b4aa9a7691c9ac0c674a6de6aa14fdfe1155576fc2d417090a95e288813f4123695534ed23935818ce94dbcd5429fbfc22aaaedf85a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf041181aef7bdb24d81c9670d24bab634391186230a53897560a7eff09aaabb7df0e428e8bce18cc6805f3099c8db4ee81ce73205e4a72d2ad14fdfe1455576fbd1c851d179c3198d00be613391b69dd039ce640bc94e5a55a29fbfc28aaaedf7a390a3a2f386331a017cc267236d3ba0739cc817929cb4ab453f7f851555dbef47214745e70c663402f984ce46da7740e739902f253969568a7eff0a2aabb7de8703b4169b7ef49382bf6c1c0d1ad1017937461e1a72eced24fdfe1465576fbcf6c88db804641152824b3ab7999b84829d32b1fc04e5f41a59fbfc28daaedf79d65240fad62e4ad08162d7eeb29ceb84e52989b7d9cc0274c3f7f851c55dbef39565a78079c2bdcc7f92125ce49fb9897517392f83981f2997eff0a39abb7de7138c748bc0eba3c47bf0873948a5559294f2981ed73058933fdfe1474576fbce1718e91781d74788f7e10e72914aab2529e5303dae60b1267fbfc28e8aedf79c26f2f7b9d114b73d6c8e7f64a1fb38c9fe8e863b2cc17c8d0f7f851d25dbef3836a714fe6f8f96a655e96148c35c5413a7e132362983135a2eff0a3a5bb7de70560f4f87ac855578289f2511061e8aa6fa868a2c230640f46dfe1474c76fbce094dfc49a2670d31bce0aaca18ba2f7cd9fd13a18160c9c28ebfc28e99edf79c11280aebf1a47ce6318e1bbc296abd21aea6699effc195291e7f851d34dbef38215015d7e348f9cc631c377852d57a435d4cd33dff832a523cff0a3a69b7de70422c3e087368561b7e0535189da152aeb545e8d7fc0656487afe1474d46fbce083587c10e6d0ac36fc0a6a313b42a55d6a8bd1aff80cac90f5fc28e9a8df79c1063d0a7a7a77baf0afe19a8a6e7ba8e2cfc3e5bbed195ac5ecf851d352bef3820b06274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de704150c4e9b438bb0c82f1ff679a9db5fdb34681ba7ae656e5fb5e1474d4cfbce082a189d36871761905e3fecf353b6bfb668d0374f5ccadcbf6bc28e9a99f79c1054313a6d0e2ec320bc7fd9e6a76d7f6cd1a06e9eb995b97ed7851d3533ef3820a86274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de70415050fc0ce5916f05a9cc2dc295ac5bdb412dfcd6e356e79f5f1474d4d0bce0829f2e0a7277f9408e0b6521ad234f15de7d083c09c3add0e2bf28e9a9a279c1053d5c14e4eff2811c16ca435a469e2bbcfa107813875ba1c57e51d35344f3820a7a443c228cbb64bae5614cdc8532b5a1eecd32830bb7452efda3a6a68ae70414f3148a9dc64d2bf8828f5fe1025bc96bd846a762146e8c01fc474d4d16ce0829e529153b8c9a57f1051ebfc204b792d7b08d4ec428dd1803f88e9a9a2d9c1053ca522a771934afe20a3d7f84096f25af611a9d8851ba3007f11d35345b3820a794306746df3fc246cc47c5300ad4a986bce17d6ca07461b3e33a6a68b770414f2760ce8dbe7f848d988f8a6015a9530d79c2fad940e8c367c674d4d16ee0829e4e4daf7429d56b9de8ebdae823490442ee32380e7ed188738de9a9a2dec1053c9b277141008139be89a47bf83e8866add710b278faa3128b1cd35345be820a79354ee2820102737d1348f7f07d10cd5bae2164f1f546251639a6a68b7d0414f26a29d75caedb497cde5eb608f217f8df56ef0c3fe78c4bd0744d4d16fb0829e4d353aeb95db692f9bcbd6c11e42ff1beadde187fcf1897a0e89a9a2df61053c9a6336fcb6843887631479e4bc05641a55668735b9b3130e5d235345bed20a7934b66df96d08710ec628f3c9780ac834aacd0e6b7366261cba46a68b7da414f269659d1864de4845b7ceb3f56f94f64bd544e0fca69c4c53b49d4d16fb5829e4d2b3fb565489f6b39b1a344d5ea9527a2a34861f0d0898c1a94a9a2df6c053c9a550b7d233e1538f61b134fd3cd20ad6d413d063d9e1319d92a5345bed90a7934a916fa467c2a71ec36269fa79a415ada827a0c7b3c2633b254a68b7db214f269522df48cf854e3d86c4d3f4f3482b5b504f418f6784c6764a94d16fb6429e4d2a45be919f0a9c7b0d89a7e9e69056b6a09e831ecf098cec9529a2df6c853c9a54843e48c8e29f1e46901c364ca0134fc0e7ca635de319f36a6345bed91a7934a8f13db71c92a464b89d04cf18bf8c82017a58ec7b96340114d68b7db244f26951d27b6e392548c9713a099e317f190402f4b1d8f72c680229ad16fb6489e4d2a3a4f6dc724a9192e274133c62fe320805e963b1ee58d004535a2df6c913c9a54742aede6f62894df064f2db457bc9f28b7d8b899c81a022e6c45bed9237934a8e755dbcdec5129be0c9e5b68af793e516fb171339034045cd88b7db246f26951ce37c9f48578b5fed1097cf956e8dacada0f24c31d680a5db216fb648ee4d2a39b6f93e90af16bfda212f9f2add1b595b41e49863ad014bb642df6c91dc9a547366b3a2ac2b93a7dfbf2ba0d5399c95362e8d56872a02b1ac95bed923c934a8e6b6286ae3248d77eafb23a429f29f0cec07ded2ce24057d993b7db247a26951cd5511fb51168118017313aad364a3fc57ba81cb5c180b157286fb648f54d2a39a92e51c2cfa68582e62f3b82648addb2f1fc7bc78001645251df6c91eb9a5473515ca3859f4d0b05cc5e7704c915bb65e3f8f78f0002c8a4a3bed923d734a8e6a2455963eb70788e5089b4318a21d4f3c29e3179fd0592ed487db247af6951cd4316c52083b7539f58e02e8b0c3a080f7fe8a54ff70b277e91fb648f5fd2a39a852d8a41076ea73eb1c05d161874101effd14a9fee164efd23f6c91ebfa547350a5b14820edd4e7d6380ba2c30e8203dffa2953fdc2c9dfa47ed923d7f4a8e6a14423b5cca90ff7d7ece3a8059c69ea3f9f16cdbb5593d9890db247aff951cd42710891241f8617db5693b28ab839b6fee8f1c1367b27cd522b648f6002a39a84d21122483f0c2fb6ad27651570736dfdd1e3826cf64f9aa456c91ec005473509a42244907e185f6d5a4eca2ae0e6dbfba3c704d9ec9f3548ad923d800a8e6a134105aeabc996e7063169f6d541339a76f2522f73a93e84d16b247b00251cd426720b5d57932dce0c62d3edaa826734ede4a45ee7527d09a2d648f6004a39a84ce416baaf265b9c18c5a7db5504ce69dbc948bdcea4fa1345ac91ec0094735099c0ee9ae91a1d605d081c19298902b6373d55a15d19f440cb6923d80138e6a13371dd35d2343ac0ba1038325312056c6e7aab42ba33e88196d247b00271cd4266e3ba6ba468758174207064a6240ad8dcf556857467d1032da48f6004e39a84cdc035fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e0d7f34e7944ac4ef6b4af2f1dee50e655c4c2a27e88826d647b00275cd4266dc1afe69cf289589ded695e5e3bdca1ccab898544fd1104dac8f6004eb9a84cdb835fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e06405a7261b0ed1ae81755715e4af0e507104fe7b888411657b00275dd4266dbf541da6f90c802614cfb0d623bfbc449b8e4c58f41109c6cbf6004ebca84cdb7d344da69eef62cee16c27d43f75d6b131c8db0de522153198ec009d7a5099b6f9689b4d3ddec59dc2d84fa87eebad626391b61bca442a6331d8013af4a1336df25d48f32893edbe3d7d6578f5cdb8ecc1cfae939188566a64b00275ea4266dbe346a43efdfe3dff32c79119e391d0017e4b9f832010ae78ca6004ebd584cdb7c5195ad6a8d2de811d5be85bbf19fe2af74381623d215e9595c009d7ac099b6f8932b5ad51a5bd023ab7d0b77e33fc55ee8702c47a42bd2b2b8013af581336df12656b5aa34b7a04756fa16efc67f8abdd0e0588f4857a565700275eb0266dbe2456e90df36d568ba2ac0905f0c64f7fb4c84d6de60af650af004ebd614cdb7c4739e47493b10f99fd24d833d982fd27643cdd37c915ee455f009d7ac399b6f88d73c8e927621f33fa49b067b305fa4ec879ba6f922bdc8abe013af587336df11a73a42afb9aa0eaac6026f75e0252c58b9fb73b2157bab97d0275eb0f66dbe233735aaea40ba458108d1416b3fb03b311ebb0d23faf7716fb04ebd61fcdb7c46572c7b5f4edab32d8e6ee555fec658e1e83a4007c5eefd1f709d7ac409b6f88c971a1c496b1b8e8699aa2d2b7cf294437b38a5cf5bde147ef13af588236df11916f55e1da39d4538b020bcd6794b0b06a135715e87bc433df275eb1056dbe23216abe1c614a0b29cdd0ddc2c71fbf88ced2f087cdf78a0bbf4ebd620bdb7c4641618e916f6a78d6536e81ad8635dd399852236b98ef15bb7f9d7ac418b6f88c814f2f7b8bab542f5ea9c9830462189b2b5089332ede2d1b003af588326df119012a714fc42d0ae17520592e00ba8f5e514d54c25abc5bda0175eb1065dbe2320154e29f885a15c2ea40b25c01751ebca29aa984b578b7b402ebd620cbb7c4640235d797bd8a8e088c4e2adffae09ba13fe1956567f1710c06d7ac41986f88c8036baf2f7b151c11189c55bff5c137427fc32acacfe2e2180daf588330df1190066370b7a3009aa4e90571a7e378ccacfa3297f19cc5c5d41c5eb10662be23200b52f3c7f2d797cc89d7a977bee7f781ef11723f368b8d4c39bd620cc67c46401531f9e89285921bcb7c191775c64d2bd8cf26da6a171c3c747ac4198df88c802963f3d1250b243796f8322eeb8c9a57b19e4db4d42e3878e8f588331bf119005253f9faf6ecaaf1e5bd2a85cf0f92d75de8ddc5a55c7295d2eb106638e23200a334064e9aafb86683471b33961583d6b67dfde747b8e6cfa6d620cc72c4640145680c9d355f70cd068e36672c2b07ad6cfbfbce8f71cd9f4dac4198e588c8028a5c2b931795441cc4e932f6504c6d82d4a439f91be39ce29c588331cc1190051344697edc00eabc419f2c14988f392da3f4b64e34c73b6939b106639923200a2514e55664d837fb3b0b1e512914d0834295aef8668e787674620cc7334640144929caacc9b06ff676163ca25229a106852b5df0cd1cf0ece8c4198e668c8028925395599360dfecec2c7944a453420d0a56bbe19a39e1d9d188331ccd19005124333d0bd398225c9025b8b1409ce2420f59ba1f3173c557a41066399b3200a247667a17a73044b9204b71628139c4841eb3743e62e78aaf4820cc73366401448e590687fb36ebf4f863a8ecfa69e73038132ad8c2cf1702914198e66dc802891b3e1f68a3443a6ca8941801ecca2c886ad2980d829e2fa9238331ccdc90051235085129f35ed75c08f4f62bd18ab738d0517277023c60f648066399ba200a246910a253e6bdaeb811e9ec57a3156e71a0a2e4ee0478c1ec900cc73374401448d22144a7cd7b5d7023d3d8af462adce34145c9dc08f183d920198e66e8802891a442894f9af6bae047a7b15e8c55b9c6828b93b811e307b240331ccdd1005123481124f7e2c3d843471c28e510a1d1b4ffc369cc20c611088166399ba300a2468f2249efc587b0868e3851ca2143a369ff86d398418c221102cc73374601448d1e4493df8b0f610d1c70a394428746d3ff0da730831844220598e66e8c02891a3c153a17c2f5249cf0ae0d507d04ebcff8c790bd033089e80c31ccdd19051234772a742f85ea4939e15c1aa0fa09d79ff18f217a066113d0186399ba320a2468ee54e85f0bd49273c2b83541f413af3fe31e42f40cc227a030c73374641448d1dc35e316c47f876a3d3d30abe01dbca7c0e8c844168450e4628e66e8c92891a3b76bc62d88ff0ed47a7a6157c03b794f81d190882d08a1c8c51ccdd1925123476e639eb3bed4802bacc188d7786d50c6fe4f636c571145358b399ba325a2468edb534fc02a7f62da114fd7d6e8d0ffb5f74b0934ab228c0f177337464c448d1db532b1d901d52836da6c75d5c9985d93e94254c5534519c22fe66e8c99891a3b696563b203aa506db4d8ebab9330bb27d284a98aa68a33845fccdd1933123476d256d9bcb42b035e217e9d7f1e57d4779fb595714a1468acc099ba32672468eda339c5d2152c693efaca012634a607173a176d3e9128d2fd82337464cf48d1db45738ba42a58d27df594024c694c0e2e742eda7d2251a5fb0466e8c99e91a3b68a7329a10188077ea2f4cac0ca8e7a84e309f75641a34d9a09cdd1933e23476d1372659aafe6717ffdb65ba98d135331c0c0310880469cd8149ba3267d468eda2570dd8e0ca34582b3397d7b121d048b7c2ca46cfd8d3b542a37464cfb8d1db4496dcd74c61ced881e3fc11e1c30673ef3058b35f81a784c556e8c99f81a3b689167ad4239103d92f44c486430572ca5e0b758c7ed34f23cabdd1933f13476d1215b6cdd1ef6dda8a06556f058a4b773bc1af3ebd769e61d58ba3267e368eda24142ec12eac41dd3f8977408a93fcd0f72e22a33abd3cddeb27464cfc7d1db448111ea7e825e9e2aa8fbae394a75f846e07096c354a79d6165e8c99f90a3b6890123d4fd04bd3c5551f75c7294ebf08dc0e12d86a94f3ac2cbd1933f21476d120247a9fa097a78aaa3eeb8e529d7e11b81c25b0d529e758597a3267e428eda24041b664cbfcb53d7ffaa37f24ba6205efe30f876a23cecaf30464cfc861db4480736cc997f96a7afff546fe4974c40bdfc61f0ed4479d95e608c99f90c3b68900e6d9932ff2d4f5ffea8dfc92e98817bf8c3e1da88f3b2bcc11933f21876d1201c6744beab310142b51e85ba5527611fec3406110ee7671d833267e431eda240375a9bd6033865082209d19ca2452067d3144e7e1acecfdf0764cfc864db44806d414a04b3472c92fbe069613c809ef7a0d4df58329da1620fc99f90cab68900d90ea6621364bba8af8d98ea70f79c173c56010c623b446820933f21966d1201b11d4cc426c977515f1b31d4e1ef382e78ac0218c47688d041267e432cda2403623a99884d92eea2be3663a9c3de705cf158043188ed11a0824cfc8659b44806c401456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c0a2b4a3fe1fe41a1cc6bdbfd99f70eeae255f876d127282ccfc865a344806c381456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c02ec6fcaaf6469cd49383e7d195cf16a8d1a1e36a127426cdfc865a354806c37f5d8df955ec8d39a92707cfa32b9e2d51a343c6d424e84d9bf90cb46a900d86fe472e4b58af7cf60a1ad5c73e4d9a829df2c9e9a549d23f38f21968d6201b0dfb1a6eef5e355c6ecc0271b67491932d3691d62f4793a62272e432d1ad40361bf534dddebc6ab8dd9804e36ce923265a6d23ac5e8f274c44e5c865a35a806c37ea69bbbd78d571bb3009c6d9d2464cb4da4758bd1e4e9889cb90cb46b500d86fd45f89d39e8145f917e053db9c82f791af3af3d6399d32b79821968d6b01b0dfa74b25ffe9d8ee74e78d6ddf30fc4d4b59222a08703a671331432d1ad70361bf4d225e5880883f6c86e7a1e659eef8beacf0966cdd74cfca63865a35af06c37e9944bcb101107ed90dcf43ccb3ddf17d59e12cd9bae99f94c70cb46b5e0d86fd32158bbaaef76034d36b4dc15fb24122ae6e9c0f72d340cd8f1968d6bd1b0dfa632b17755deec069a6d69b82bf6482455cdd381ee5a6819b1e32d1ad7a361bf4c6562eeabbdd80d34dad37057ec9048ab9ba703dcb4d03363c65a35af46c37e98c38702e2491642953273432f588673d6e2122d7939a081079cb46b5e9d86fd31770e05c4922c852a64e6865eb10ce7adc4245af27341020f3968d6bd3b0dfa62e6dd3113f1bf328046996f3ce17fb1db330cdba4b6821e5e82d1ad7a861bf4c5b67b87b2b0e48d2c09ff40f94265463610dddd093d0456fd15a35af51c37e98b55b834f02f2f428390cae47204306eebcc7fdfd24a08c83a3b46b5ea486fd31694318f6b2bc4ad329e622b6387c6c05743c3e5646411aab4868d6bd4a0dfa62d1124446124ef8290b990b9468ef3632e324bf08898236fa91d1ad7a951bf4c5a124888c249df05217321728d1de6c65c6497e1113046df523a35af52a37e98b42491118493be0a42e642e51a3bcd8cb8c92fc222608dbea4746b5ea546fd316841e34893f4e23cb149522cb3f700fbf13d23aa04911b9788f8d6bd4a9dfa62d073c69127e9c4796292a45967ee01f7e27a47540922372f11f1ad7a953bf4c5a0e04e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b09c8fb541de35e1442a2a9eb6d3a4893ea59ba428dcf0c7e6b5ea550fd3168361391f6a83bc6bc28854553d6da749127d4b374851b9e18fcd6bd4aa1fa62d06c2723ed50778d78510a8aa7adb4e9224fa966e90a373c31f9ad7a9543f4c5a0d84e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b028a20deeb49863fbf6f0c6aeca02b13951de0025dcf26be7b5ea5510d316835f51441bdd6930c7f7ede18d5d94056272a3bc004bb9e4d7cf6bd4aa21a62d06be2e9a9067a8c412a7a88942b31e68ecdff3ba5c9473cb539fd7a954444c5a0d7b5d3520cf5188254f511285663cd1d9bfe774b928e796a73faf52a88898b41af6467c9a4b7972cd566eeb32c47001db7a7b2bce4ecf2ef2805ea55112316835eb190b8d43c9481d64aa9c8d80d661deefa299f89a9e5f8901bd4aa22562d06bd532171a8792903ac955391b01acc3bddf4533f1353cbf12037a95444ac5a0d7aa642e350f25207592aa72360359877bbe8a67e26a797e2406f52a88958b41af54546ec2cb20a36ddd21aa93fea96d1f77c11220d1f2fdec0eea55112c16835ea734efde4317a95e72101b4ff5493866ea2e669da0e5fd7c1ed4aa22592d06bd4d69dfbc862f52bce420369fea9270cdd45ccd3b41cbfaf83da95444b25a0d7a9a5fd1d1b93507fc800d3367cd1b3fc3a365dcd28097f7947c52a88965b41af5334bb5fc1f40727bb7e72cf7922cddaf4177fc00fe2ff0ccf9a55112cc6835ea65237e50eb57477a279b20171c5019867d9c3a5df95fe33df44aa22599d06bd4c946fca1d6ae8ef44f36402e38a0330cfb3874bbf2bfc67be895444b33a0d7a9921a0b9c5a33806b563946846936c441f11d2bd3e27f8e9bd22a88966841af5323341738b46700d6ac728d08d26d8883e23a57a7c4ff1d37a455112cd0835ea646682e7168ce01ad58e51a11a4db1107c474af4f89fe3a6f48aa2259a106bd4c8c5c6f3b7e7265dd6996fa4b41ac80378395a0fb10fc7682925444b3430d7a991744f0cfa9bb2e3d8afababe7b4f5e9701d784521ef8eea925a88966871af5322d15f3f8004cbefdcdc23ba4ee951b55fe5b4b003af1def64c5112cd0f35ea64592be7f000997dfb9b847749dd2a36abfcb6960075e3bdec98a2259a1e6bd4c8b257cfe00132fbf73708ee93ba546d57f96d2c00ebc77bd931444b343cd7a991643bb218af3c5a7125dea34f6c9f38d7ed869a5dd48ef956638896687aaf5322c703768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a0dda282d3c5d940e28331b44d33f5f56e5dc5e9877d1432044b343d97a9916341bb4505a78bb281c50663689a67ebeadcbb8bd30efa28640896687b2f5322c683768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a069b4db809c3bc39a4ff7dc452a541d690a0845847d15d6054b343d98a991633f5f7c0fae0eda09ec6cb5e0824b0662ccc052e705fa2d500b96687b325322c67d4b0a7808f4169690a631e8fc8c6aed942ce82a08f45c44182cd0f665a6458cf9222748bebe8fafd91929f9f10f3403230612b00ee8ba2c3159a1eccc4c8b19f1444e917d7d1f5fb23253f3e21e6806460c25601dd1745862b343d998991633e214af7ba7d0a1421c316e0fbc332e3486c48d1c38a2ea54c66687b332322c67c3295ef74fa142843862dc1f78665c690d891a387145d4a98ccd0f66646458cf8652bdee9f42850870c5b83ef0ccb8d21b123470e28ba953199a1eccc8c8b19f0c318e35eb5b6c93995836a5d98fcfcc30d0ab3dc217544a34343d999291633e17631c6bd6b6d92732b06d4bb31f9f9861a1567b842ea89468687b332522c67c2e524b305a4414d11d2da0bf5e359d58bdeeef53055d52ccd1d0f6664b458cf85b30a8b9615e8c24f22807a6b46198d9768a210207baa73da4a1eccc978b19f0b5615172c2bd1849e4500f4d68c331b2ed1442040f754e7b4943d9992f1633e16a4eb53e32509316806ce4c2c97cc18dd4d4c6641bea9e9a9387b3325f2c67c2d3297cd5117788afb8a68fad8aefe143a455cf2434d53ed9280f6664bf58cf85a552f9aa22ef115f714d1f5b15dfc28748ab9e4869aa7db2501eccc97eb19f0b4a3205acf2b485419a6704de23b5e3368c037eecd054fd08a13d9992fe633e1693640b59e5690a8334ce09bc476bc66d1806fdd9a0a9fa11427b3325fcc67c2d2654290c77a877892168d9a086cdeb022aba3e0f3e53f5c685f6664bfa8cf85a4b3464719c275194fa9e79690592342c5020be7a79a7ed310ceccc97f619f0b49568c8e3384ea329f53cf2d20b246858a0417cf4f34fda6219d9992fec33e1692a5da41f1d73a8d6a246abcc0e3f2ed93b2f3c45e39fb66834b3325fd967c2d253475a96e7bdb42ffc5a1dc01474bbda710abae7c43f6e746a6664bfb3cf85a4a51ac7867c51cae2b08101a820dfd5dcdcc1b82b857ede8cd5ccc97f689f0b4949358f0cf8a395c56102035041bfabb9b98370570afdbd19ab9992fed13e1692926b1e19f1472b8ac20406a0837f57737306e0ae15fb7a33573325fda27c2d2524624e8c8f64b9983bd4d368fef50d0ee0ba03b828f6f60aaf664bfb45f85a4a4750af71cb9fd5b32f766cf9f5e07845bc2049cc4eededb95fcc97f68cf0b4948d2d713c44160de916b9a01be3b74eb372ecd5f49adbdd16c0992fed1ae16929195ae278882c1bd22d734037c76e9d66e5d9abe935b7ba2d81325fda35c2d2523241d749bd2e9a2712b3469786d398f5c65f9a2e686f75ff0364bfb46c85a4a4630fc0ec273396d0dd335357059d9013876b76b8cddeeda207c97f68da0b4948c51f81d84e672da1ba66a6ae0b3b20270ed6ed719bbddb440f92fed1b41692918a3f03b09cce5b4374cd4d5c1676404e1daddae3377bb6881f25fda3682d2523140a19b9e6731909a16760e024e2dec43607f8226bf76eb43f4bfb46d15a4a4627143373cce6321342cec1c049c5bd886c0ff044d7eedd687e97f68da2b4948c4e2866e799cc6426859d8380938b7b10d81fe089afddbad0fd2fed1b456929189c50cdcf3398c84d0b3b07012716f621b03fc1135fbb75a1fa5fda368ad25231382dadf71407f31cce42d42a46244a6b5b2bc482bc76ece7f5bfb46d16a4a4626f5b5bee280fe6399c85a8548c4894d6b657890578edd9cfeb7f68da2d4948c4de42ca34fcf62ef5f0d816d1108787d5675b5466eedbb543d7fed1b45b929189bb11a6c2a6c2c06e997cf3ca19056dd2c962eb29dab76c2bb0fda368b825231375234d854d8580dd32f9e794320adba592c5d653b56ed85761fb46d1704a4626ea469b0a9b0b01ba65f3cf286415b74b258baca76addb0aec3f68da2e0948c4dd419486de2ec65f783b46478c021ccbe45c39baad2bb630188ed1b45c229189ba73290dbc5d8cbef0768c8f18043997c8b873755a576c60311da368b845231374e6521b78bb197de0ed191e3008732f9170e6eab4aed8c0623b46d1708a4626e9c5655c7c439923ed56fe9edf904c41a28c91fb292db19b04868da2e1248c4dd3738bde83549870062ac9a03e9ffe65c4c3e81c122b6350491d1b45c259189ba6d717bd06a930e00c5593407d3ffccb8987d0382456c6a0923a368b84b231374da6f09f981fc7e84427f2e379ff5f7992ba6496087d8d5b64846d170974626e9b36a264bb0cf5f8b3ccb229737e24d5a51f8d51d0cb1ad10918da2e12f8c4dd365605ef00e75219931630b5667baf8dc9e9dec9616635bc5241b45c260189ba6c94cd038c9c0a5b51a92dcd4c76c4fe137e81b8829c6b92e49368b84c131374d9125b2ca4057adececf27fd186cefdea6a7c796c508d7400936d170983626e9b214b659480af5bd9d9e4ffa30d9dfbd4d4f8f2d8a11ae80126da2e1306c4dd364222dd81ae351a366b96c56e133255d1a49e280d3f35d1a64eb45c260e89ba6c8345bb035c6a346cd72d8adc2664aba3493c501a7e6ba34c9d68b84c1d1374d90617885f65aacb5c6627dbe044bfb56e8d24e290f9d7483d3bd170983b26e9b20b2f10becb5596b8cc4fb7c0897f6add1a49c521f3ae907a77a2e130764dd364165e217d96ab2d71989f6f8112fed5ba34938a43e75d20f4ef45c260ec9ba6c82c485553da2cbd65e90ba52a1df4099c63d356e3cbba438ddf8b84c1da374d90571cbd00612fdd4e89e4107c33de7160c252f023947488bfc0170983b56e9b20ad397a00c25fba9d13c820f867bce2c184a5e04728e9117f802e13076add36415a72f40184bf753a279041f0cf79c583094bc08e51d222ff005c260ed5ba6c82b471fa5bb6554cf706ed4a0996e9e92e0d43c378a0a447a201b84c1dac74d905677007101980fc70c5a75a3b25ca30841533c94d3e4890e80470983b59e9b20acd6c2078dfd85b64431b7a9e438abf302513d4f67991237409e13076b4d364159964534a6c87194b3e03bb647f0bdc8844d3ec48f022488c14c260ed6aa6c82b3154b8ed85e4951933d43cf0f60e173884541aeddd4492bc2a84c1dad64d905661358433b89f8cb51f754009e4128c9903547837b789271c560983b5ad9b20acc16b0867713f196a3eea8013c825193206a8f06f6f124e38ac13076b5b364159826223278f54955735a1c64f8840908c07fe233adb249e1559260ed6b76c82b3035058a7cb7f8d31231052c708777f400aa888d1b3493dceb34c1dad6fd90566052cc3a843d57ce4fded6bb608e55ca80ffd53ff63927d4167983b5ae0b20acc0959875087aaf9c9fbdad76c11cab9501ffaa7fec724fa82cf3076b5c1641598123f20f9bc2c5616af8275001b8bd0c83aa192598b49f6a99f60ed6b83c82b30230a544c252f0eb016d1b0282f0dffb86fef670f1393eef73fc1dad7089056604514a8984a5e1d602da360505e1bff70dfdece1e2727ddee7f83b5ae1120acc08a29513094bc3ac05b46c0a0bc37fee1bfbd9c3c4e4fbbdcff076b5c224159811452a26129787580b68d8141786ffdc37f7b38789c9f77b9fe0ed6b84482b3022831571affc74d8424e7c8aae8d659aef9a2b34d363ef117fd1dad708a0566044f62ae35ff8e9b0849cf9155d1acb35df345669a6c7de22ffa3b5ae1140acc089e516ec4abf398934b6be8d39b4fc4e3e1370f90d5fbc603f576b5c2291598113b2eefe204bd93a94ea497cf2e95e7efbd1a617da8f78dabebed6b84532b3022755ddfc4097b27529d492f9e5d2bcfdf7a34c2fb51ef1b57d7dad708a6566044ea47d1e0bfccb127f25f2564b24dfde6ef15c852a0de3853b0b5ae114dacc089d31bb61a2c6fc4d29c8b10f15c9259f5d8d7d3013ebc724b626b5c229c598113a5376c3458df89a5391621e2b924b3ebb1afa6027d78e496c4d6b84538b302274a6ed868b1bf134a722c43c5724967d7635f4c04faf1c92d89ad708a7166044e9469c32a105489179c254db2dc892dd6c16ada65f2e393ff145ae114e3cc089d275f98accd7f74b1f017618db108b9d57d81f727e2c729a229b5c229c898113a4d4b43b247d54be697fb89435a07d1d2f5b030abc28e54e8546b845392302274992299bd3c80fa4fe7c3d8aeac0601cde60ca3b3821cab74a9d708a7256044e93145337a7901f49fcf87b15d580c039bcc194767043956e953ae114e4ac089d26216794d9eda4bc256dc28e2a80e655f92ded12a0572af76a85c229c968113a4c32cf29b3db49784adb851c5501ccabf25bda2540ae55eed50b845392d0227498659e5367b692f095b70a38aa039957e4b7b44a815cabddaa1708a725a044e930c3fdcc5a3a8c0956eae0d3d3869892491a2cbac28957d5943e114e4b5089d26170bcbe3f427e3ad9528e0a268c970711df1d9b44e2afc5688c229c96b113a4c2d1797c7e84fc75b2a51c144d192e0e23be3b3689c55f8ad11845392d62274985a2f2f8fd09f8eb654a38289a325c1c477c766d138abf15a2308a725ac44e930b45e5f1fa13f1d6ca9470513464b8388ef8ecda27157e2b446114e4b5889d2616848d097ef549d5c0a5ad04e848d6539d9c9dda0dfafc70c8d229c96b213a4c2cf1db3888b7f9d3acc8266c50111289bae3ffd9dbc5f8fbd1b45392d652749859d3b671116ff3a759904cd8a022251375c7ffb3b78bf1f7a368a725aca4e930b3a02e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce60b81eb6b535db7a75984eff0ec025aceb0e34bb9f90261b85392d656749859cc1703d6d6a6bb6f4eb309dfe1d804b59d61c69773f204c370a725acace930b3982e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce6044310f620c3dfd2d65152706b683d4e5ba77179c9027bf86392d656849859cbf14747770eede7d1296f076056365d1c621308b362051230d725acad1930b397d28e8eee1ddbcfa252de0ec0ac6cba38c4261166c40a2461ae4b595a3261672fa51d1ddc3bb79f44a5bc1d8158d97471884c22cd881448c35c96b2b464c2ce5f42fb614344d566b4c8449d823118cb62bb5c6b5ae028abc6c92d6568d9859cbe75f6c28689aacd6990893b04623196c576b8d6b5c051578d925acad1b30b397ce4aeaa97e0bbc2fe9dded88843c9100a9835d32b50a2c95b34b595a3761672f9b21e7aba8eddae28b88a139006f80294db2fcc167145acf6796b2b46fc2ce5f3543cf5751dbb5c51711427200df00529b65f982ce28b59ecf2d6568df859cbe6a13b107508dce0ce5ef4b0bf9b45ecd3178356199516ce19f5acad1c00b397cd327620ea11b9c19cbde9617f368bd9a62f06ac332a2d9c33eb595a3801672f9a64ec41d4237383397bd2c2fe6d17b34c5e0d5866545b3867d6b2b47002ce5f34c299a933144d2e9e7471e87c5995491866ded68c78b68b0fbd6568e0159cbe6975335266289a5d3ce8e3d0f8b32a9230cdbdad18f16d161f7acad1c02b397cd2e327ca571e9ae2a54e940470e5bb06e1463f7ff1b2da467f0595a3806672f9a5b64f94ae3d35c54a9d2808e1cb760dc28c7effe365b48cfe0b2b4700cce5f34b65604ee747d1b2c0b71c74431651fe04c3c225869b69343c26568e01a9cbe696b381c3595d098daceb054b05ac09de89324870cd06d282b85cad1c036397cd2d570386b2ba131b59d60a960b5813bd126490e19a0da50570b95a3806c72f9a5aa6c832f0418c5edf28e18e962f8d5ca473e5e8f3eb4a252182b4700d9e5f34b536518b6b507ee5e9ce8f7fabde809bc8928ff7a7a69464831568e01b4cbe696a55643c616e63f3ff19eb61d73c671a10cfe4150f1d28e3463ad1c036a97cd2d493899e4daa2e1029b0a3262df83416a14a8c4fde0a51e0cc85a3806d62f9a5a917133c9b545c205361464c5bf0682d4295189fbc14a3c1990b4700dac5f34b5226e79ec1761e68d23f58fb3760363d04d4f56537f9479d72268e01b59be696a43690630db9a2f9cffb7e58ee3fd25c8954aef02fc28f55245d1c036b47cd2d4855e1eba640ac1bcb73c9145bff0a9b925422061f551ec488ca3806d69f9a5a909484fcd74ebe5fc2645e8b377d7b19a4530831fe7a3da351a4700dad4f34b52111cb1f396ae2e7b0458978ee7a5c15c850d489bcc47b60e358e01b5aae696a4213963e72d5c5cf608b12f1dcf4b82b90a1a9137988f6c1c6b1c036b55cd2d484272c7ce5ab8b9ec11625e3b9e9705721435226f311ed838d63806d6ab9a5a908471a1f56247d65ada91829f3524690c2316873a5f3db215ad700dad5834b521076f564371660f386cefcb66623f304040d950d0bb7b65cf5be01b5ab1696a420d6abedf8fa280f391ac5cf4bc74bea87c5ee3fd73f6cd42b8c036b563d2d48419619017cc1b6469db25801170dfdb78f36a0a56e4ed9c2972806d6ac8a5a908314f3288450d2b566e17c64ad9b61519e1805709c6db39f6e600dad5924b5210612a776936f0b92f93fc52bdab62885bbdacf06f8ab67591cd01b5ab2596a420c154eed26de1725f27f8a57b56c510b77b59e0df156ceb239a036b564b2d48418235effd8899474107be111ea5807f96f160041a27d9d7eb3506d6ac975a9083036bdffb11328e820f7c223d4b00ff2de2c008344fb3afd66a0dad592eb521060663d24ecf3b7f86d6c50aa28df85c83c02c52c49c676150d51b5ab25e6a420c0b53b6f64b4d61906556db6d13e7172f7b04e7e535cec445ab36b564bdd4841815338045437125a3827a7d021fc48c86f0b61226689d8a2f576d6ac97ca908302967008a86e24b4704f4fa043f89190de16c244cd13b145eaedad592f9521060525a136dba9af910c1b6ba3077089043bd848af59f762a615eb5ab25f3a420c0a3403934220c54a43b3a3a88e6077eaf75b558473bec5666be6b564be8484181450c84c0f0ef0bcb2e413b39c4055b86e616f2ea74d8ae717dd6ac97d190830289190981e1de17965c827673880ab70dcc2de5d4e9b15ce2fbad592fa321060512321303c3bc2f2cb904ece710156e1b985bcba9d362b9c5f75ab25f46420c0a2464260787785e597209d9ce202adc3730b79753a6c5738beeb564be8c84181448545e67bbc71f359be079c4384c16965c1b71034a8ae8bbde6ac97d1a0830288f34cf282464a0edef8db9b0688e8b54b2e324629215d31bbdd592fa351060511d699e5048c941dbdf1b7360d11d16a965c648c5242ba6377bab25f46a20c0a23a5f4ef93e68e63a7603ace99a308b7ac638d3e645574e12f8564be8d5418144734ab04b29a82ef7a3d41ffb2c57751d871dea2887ae9dc9f1ac97d1ab830288e52172ef0026c071ff75061e50a5486308e816ad0c5d3d37e4592fa358060511c942e5de004d80e3feea0c3ca14a90c611d02d5a18ba7a6fc8b25f46b00c0a239211de14ad71644ab5a0dea13a8b7fb41e4c9d102e74f6839264be8d611814472323bc295ae2c8956b41bd427516ff683c993a205ce9ed0724c97d1ac230288e46477852b5c5912ad6837a84ea2dfed079327440b9d3da0e4992fa358460511c8c1b02fe186184d864d3bb31cc525bc8ed112add70a7b5c09425f46b09c0a239173605fc30c309b0c9a7766398a4b791da2255bae14f6b81284be8d6138144722e6c0bf861861361934eecc731496f23b444ab75c29ed7025097d1ac270288e45c642a496fe28945de6a9fb65a893c6f63359947823dafa8a22fa3584f0511c8b75466eb8c9b750e74a20594ad08d706c11774eb017b60f5455f46b09f0a23916d34e02fc60d4c9fa110d15152080c357cdb2c31fff6c38e8bbe8d613f144722d969c05f8c1a993f4221a2a2a410186af9b65863ffed871d177d1ac27e288e45b25f9317c50b95013c100b6d40168efdee18f323fcdb0fde2ffa3584fd511c8b634b388836ed8c852fecdd0278237c23d6de28a3f6b6216060f46b09fba23916c52283691ab17b8d17a6802ce83d566fa86893a3ea6c4464c2e8d613f844722d894506d23562f71a2f4d0059d07aacdf50d12747d4d888c985d1ac27f088e45b12161ffd179c50b71666c6db98ebb7e69c4e90eba6b113370ca3584fe211c8b6232c3ffa2f38a16e2ccd8db731d76fcd389d21d74d62266e1946b09fc423916c46587ff45e7142dc599b1b6e63aedf9a713a43ae9ac44cdc328d613f884722d88c3d124169b8e83b6b02fd04bf541d5cdd20c9b932889b5c661ac27f118e45b1170636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d0c6db7009065f31ba58062ed3d31c369dbab9cc42270b99a6b09fc483916c45a18db6e0120cbe6374b00c5da7a6386d3b757398844e17334d613f890722d88b431b6dc024197cc6e96018bb4f4c70da76eae731089c2e669ac27f120e45b1168636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d052edc8b5dcc1b47224cc56cbc97a5e9866fc283f270d3da7b09fc484916c459f31edea188fe5eb9c165ed58f8952e52b7a3aac7b4e1c1f50613f890a22d88b3d63dbd4311fcbd7382cbdab1f12a5ca56f47558f69c383ea0c27f121445b1167a53ca010f15fa312826417e361ba9bca8952d0dea3872214284fe24298b622cf333a65acb0256e508194924642db1a14bd69c77d170e5e68609fc485416c459e5674cb59604adca10329248c85b634297ad38efa2e1cbcd0c13f890a82d88b3ca5aabc3d8dfbe16d831eab988ad24ad2a06b43b42c3993e1927f121515b1167934169e05e95deb068309b9b0950a7824eb9aad282873420334fe242a3b622cf250ee6196a021fe3882dfd5e0a97ad2c981f9801020e69e4679fc485486c459e491dcc32d4043fc7105bfabc152f5a59303f3002041cd3c8cf3f890a90d88b3c923b9865a8087f8e20b7f5782a5eb4b2607e60040839a7919e7f121521b1167924034323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e0d0c8ff39d867be4f2c46132cf1e32eea4099035cd431cf7f890a91188b3c91c1a191fe73b0cf7c9e588c2659e3c65dd4813206b9a8639eff12152231167923834323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e05cdb57e6aeca4106f90c3b24e84156e4ecdb5f59d4337380890a91198b3c91bf45c9087a33f704c5bede9e41c6e0d5c485f91ab0a8688b02121522341679237d17a469a13e508c434a83647b841fd383b834915e50d2ba05242a44692cf246f92f48d3427ca118869506c8f7083fa707706922bca1a5740a485488d259e48df25e91a684f942310d2a0d91ee107f4e0ee0d24579434ae81490a911a4b3c91be44935a5b6c8e6e4d220e14bd4175cc4186de6e6ef8697742a2152234a679237c71e7da41a68304c5c0e88bfa02517b02b881029dc0d308c5542a44695cf246f8d3cfb4834d06098b81d117f404a2f6057102053b81a6118aa85488d2b9e48df1a0608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be330c11d22cee4768500dd24cf11579d151990606da6987aaac152234b079237c661823a459dc8ed0a01ba499e22af3a2a3320c0db4d30f55582a446960f246f8cc304748b3b91da140374933c455e7454664181b69a61eaab05488d2c1e48df198608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be3304d2f7b7bbad907b8a9eaf7094dfb3d143ca2c9a3987c4ec252234b089237c65f26714fa44c149229209c160a9254a2232587ef4430fa4185a4469612246f8cbd4ce29f489829245241382c1524a944464b0fde8861f4830b488d2c2448df197a25d7973e06b4cb5c4f3680223fb0b0874262190dc3eaaa17911a584991be32f34baf2e7c0d6996b89e6d00447f61610e84c4321b87d5542f2234b093237c65e62370b5a4f135b02909a02880f520ea17b5cac0340fac4c5f4469612746f8cbcb46e16b49e26b605213405101ea41d42f6b9580681f5898be88d2c24e8df1979619d52f409b39435bf346c9fbcae1d059836d5ccd3eb2d57e11a5849e1be32f2b33aa5e81367286b7e68d93f795c3a0b306dab99a7d65aafc234b093c37c65e566754bd026ce50d6fcd1b27ef2b8741660db57334facb55f8469612786f8cbcac5abbd2b1b02c9d9766fc77d64d6caac6c7ad4266f5984ff18d2c24f1df1979574189fe1036bbbde69abf17a491377d883b9ce0caeb3243e41a5849e4be32f2ad0f2654cd43d9fe850244574118cd230b237c1d92d6662bc934b093ca7c65e5591e4ca99a87b3fd0a0488ae82319a461646f83b25accc579269612794f8cbcab23c9953350f67fa1409115d0463348c2c8df0764b5998af24d2c24f29f19795640544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac70a89fe2dea64edbfbdd1c401798e80a790469127666604954b093ca9c65e558e1513fc5bd4c9db7f7ba38802f31d014f208d224ecccc092a961279538cbcab1c2a27f8b7a993b6fef7471005e63a029e411a449d999812552c24f2a719795638544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac7034b23b8b7cb15eb3a9e2680f8f463273b0ab6e736661ed55b093ca9d65e558df69647716f962bd6753c4d01f1e8c64e76156dce6ccc3daab6127953acbcab1be5edb46dac927fd86744fc8363376f1c96ef015ca99895957c24f2a769795637b49c8e66268b27dc4b565b8645d4c0b8d8a228792331456b0849e54ee2f2ac6f51fa42571a7c77e41379198c0b0f63f15c0876b21662a5162093ca9dd5e558de93f484ae34f8efc826f23318161ec7e2b810ed642cc54a2c4127953babcab1bd20aa2ee7375807bbcab0c8afaba372451ae60088298aae98924f2a776795637a31545dce6eb00f779561915f5746e48a35cc011053155d31249e54eecf2ac6f462a8bb9cdd601eef2ac322beae8dc9146b980220a62aba62493ca9dd9e558de8c5517739bac03dde5586457d5d1b9228d73004414c5574c4927953bb3cab1bd1836413fe42e6a3e827d8ed7a399d06d159242e4268ab03c934f2a776895637a2f6c827fc85cd47d04fb1daf4733a0da2b2485c84d156079269e54eed12ac6f45e6517583d900b7cc1c30186865d9fdc50f54dec972ac2964e3ca9dda3558de8bb56410927f6797c3b52c93504b19de09c96de352b5586d09d7953bb47ab1bd17538946afcc3557b2e725892015999e933d9fec653ab0f453bf2a776905637a2e97128d5f986aaf65ce4b12402b333d267b3fd8ca7561e8a77e54eed20ac6f45d26e64049fe3b86f7196286ffd5cc5ccca143d754bac3eb8f0ca9dda4258de8ba368da61ec9dd3619af91707f2afe9c18ed4bd4694587f15e2953bb485b1bd17455dc71c86120945edbef437dd5631ab1855bce925b0ffcfc62a77690c637a2e8947a091b8fa750e934aae97b2a2c17e2b57bc2e486201438d54eed219c6f45d111b537c1ecb4c9fde6223575d3be124515bbab88dc4042b1ba9dda4348de8ba2136a6f83d96993fbcc446aeba77c248a2b775711b8808563753bb48691bd174426d4df07b2d327f79888d5d74ef8491456eeae2371010ac6ea77690d237a2e88466ae39a330c781aadde0e2e1d5674a858a18206b2022fcde4eed21a56f45d107596ecbf337f1860d8887edbba12cbd05c0729cd340479dbd9dda434bde8ba20d3eeff09346458ed2ddd6036f38b7a2062d2795a38090df7c3bb48698bd17441909f239d362eda05d88722ed667cd6c0706918744012362f977690d327a2e883113e473a6c5db40bb10e45daccf9ad80e0d230e880246c5f2eed21a64f45d106227c8e74d8bb6817621c8bb599f35b01c1a461d10048d8be5dda434c9e8ba20c44f91ce9b176d02ec439176b33e6b6038348c3a20091b17cbbb486993d17441882b35f5e3053c889053e9155e7334e86b155ad03d1237d3987690d328a2e8830f566bebc60a791120a7d22abce669d0d62ab5a07a246fa730ed21a65145d1061e38ea3038eb54a4f91c6a7d71c331c9a701ad9cf148e0f262da434ca38ba20c3b71d46071d6a949f238d4fae38663934e035b39e291c1e4c5b4869947174418766fbb199083b5169c3e701dbf03254e96b2f8cfc223856d8c690d328f2e8830eb6b888bcdddccaff049a66375fca8c5281233fb81470c7f19d21a651f5d1061d56323704891fbe2986012eee3efafb24ad0aa52ff8e1aa234a434ca3fba20c3a95259393dfa5a47e88cec05bfd5bd8c904d9701fc1c36e86a486994807441875130c4cb28cb171288e69e3377a1d9411b47705ff5386f74d590d32901e8830ea161899651962e2511cd3c66ef43b282368ee0bfea70dee9ab21a65203d1061d424f25855002beccdb673ef5d67dc32c67ca03dbd1e1bf7757434ca408a20c3a832a5d634cdbe01c6e9b4413a4f1e480ca404a13a0c38092af869948124418750554bac699b7c038dd36882749e3c90194809427418701255f0d3290248830ea0a3587e5e045e2f47239d6768bbdf02b23ad6aaa800e03eebf1a65204a1061d4136b0fcbc08bc5e8e473aced177be056475ad555001c07dd7e34ca409420c3a8266231f02dedee5480b4200226ee1ed48961ed05fd38115efd699481294187504b50763908b23f2bb935062c45d29bd10d701c67f7702461fbd3290253830ea0952cfecabe3ae0da2a36d280839b95ca158c7b2bebe04a67f8a65204a8061d412959fd957c75c1b4546da50107372b942b18f657d7c094cff14ca409500c3a8252400d83a5c1e5eb60a8102a0664b55050de2f0bac812b43e3994812a1187504a30c2d5ff85a2e59791ce67c04bfc8c89c68a0735602582bc83290254330ea0945185abff0b45cb2f239ccf8097f919138d140e6ac04b0579065204a8661d4128a30b57fe168b965e47399f012ff232271a281cd580960af20ca40950cc3a82514616affc2d172cbc8e733e025fe4644e345039ab012c15e4194812a1987504a284ee8583279481a499b2de843f2eab1c13649915d25846084290254340ea0944f29e30911c8f2b74b0321f87fdc338b7d18d57eb74b0a65095204a8691d41289d53c6122391e56e960643f0ffb86716fa31aafd6e9614ca12a40950d23a82513a339e7cf3fa2d5fe3d94e09f7672c55ef0f9856da2c2b38264812a1a57504a273673cf9e7f45abfc7b29c13eece58abde1f30adb45856704c9025434aea0944e65a8c4c7cbf18024731fe4fd5930f7fb6eaa3b765b0ae849a204a8696d41289cb412af1a65492874630c2c7a31c7d27688189cac8615ead3540950d2ea82513950e683bf97f8791442e4bb73e2f5876cbaf55f18dc2befe6b812a1a5e504a27291cd077f2ff0f22885c976e7c5eb0ed975eabe31b857dfcd7025434bca0944e5239a0efe5fe1e4510b92edcf8bd61db2ebd57c6370afbf9ae04a8697941289ca47341dfcbfc3c8a21725db9f17ac3b65d7aaf8c6e15f7f35c0950d2f28251394872961844cedb96fab1819bdaebe594b5a1a174d92bf18ab912a1a5e604a2728f713e89367419b0ad2fc95fadce295165ef8545af57e4b97325434bcd0944e51d6e8f6b19be95e4122c58e75392b0cac68b4ce75bafcb16e74a86979b1289ca3969312ee0538e4adc2577f69f1bbfbd87c2dc2ab45f97d1cf950d2f37251394715e74b66d7d7f187017b615362ddda30a31fab165bf3147a02a1a5e6f4a2728e148fbc587d160b397fc32526452196e0f1037bec87e6433415434bcdf944e51c11e09e3bc7923e9e7c52accc09a910418ccb1d98dfcca0a83a86979c0289ca3813c13c778f247d3cf8a559981352208319963b31bf994150750d2f380513947020439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030873cf3d75e454adc2e2b5f4c14470bbbe138469e6539c1f434bce0344e51c0610e79e7aebc8a95b85c56be98288e1777c2708d3cca7383e86979c0689ca380c21cf3cf5d79152b70b8ad7d30511c2eef84e11a7994e707d0d2f380d13947018439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030134f4c8434a7cd93faf187440aa533b68d7aa29b653b65f534bce0354e51c05f269e9908694f9b27f5e30e88154a676d1af54536ca76cbea6979c06a9ca380be4d3d3210d29f364febc61d102a94ceda35ea8a6d94ed97d4d2f380d53947017c268cbcce7ba0ef57a45262184b87c5af181770d829dcd3aaa5e701ab728e02f74d19799cf741deaf48a4c430970f8b5e302ee1b053b9a7554bce0356e51c05ee26454be6c4e640165e0fb059247d3eb70ca01f5da774f2ab979c06aeca380bdb4c8a97cd89cc802cbc1f60b248fa7d6e19403ebb4ee9e5572f380d5d947017b625278847e9fb83114504e95c885322d6dec2d9739dd56eaf5e701abc28e02f6b4a4f108fd3f706228a09d2b910a645adbd85b2e73baadd5ebce0357851c05ed620b079cc7e508efce0d9cd6a17aab356274dc1cb77575ebe79c06af1a380bdab4160f398fca11df9c1b39ad42f5566ac4e9b8396eeaebd7cf380d5e347017b560ed43fdecfa4beab502d5da05508f5534979632add5f1efae701abc78e02f6ab1da87fbd9f497d56a05abb40aa11eaa692f2c655babe3df5ce03578f1c05ed563b50ff7b3e92faad40b576815423d54d25e58cab757c7beb9c06af1e380bdaac02b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae0ad15e8d4e21e04938c453ea7a974a53e035d54fabea6f60e03578f5c05ed55c15a2bd1a9c43c0927188a7d4f52e94a7c06baa9f57d4dec1c06af1eb80bdaab82b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae039284181b880874b590b669f9fd2cd38af9fb0f7bea89a0f03578f5d05ed55bf7250830371010e96b216cd3f3fa59a715f3f61ef7d51341e06af1eba0bdaab7e70b35eb3b8649fe530f3c27675a95cdd6ac11fdbfaa40c3d0d5e3d7517b556fb6d791614472bc2822eadace4e1b0e1b581c49bb4f549bc7b1abc7aeb2f6aadf5670484d564ba07bc2a2181c1b9bfeb65afcb9366ea951cf73578f5d75ed55be95a1b62579fd6923021092b7b69ddfec60bd982cad52bddef6af1ebafbdaab7d140491d5c160fa7180ed87eeeca1a2586c3f56192aa595fdfd5e3d7607b556fa10ca493650281d0e7ea7725d58a927308342d1f2254b463c0abc7aec1f6aadf41194926ca0503a1cfd4ee4bab1524e610685a3e44a968c781578f5d83ed55be8232924d940a07439fa9dc97562a49cc20d0b47c8952d18f02af1ebb07daab7d0465249b28140e873f53b92eac54939841a168f912a5a31e055e3d760fb556fa08565b8efcfe7f9136743885509f85587def144e224b47e00bbc7aec206aadf40f38c976a6d361a524b53732993568d8f68a6af8419691641878f5d841d55be81d7192ed4da6c34a496a6e65326ad1b1ed14d5f0832d22c830f1ebb083aab7d03a6f38334823e9174aa1a2f25ccc018bd4d5ee3d035a473462e3d76108556fa0736a82bf3d1e34b14d100c0cb18e613fa4581ed603b4900cc6c7aec211aadf40e56117d72712cbe551ecde415b1320a7435c8008046921bd8e8f5d842455be81c94e4206fafbfa4d5ba682aaae1c9f768165426c05d2451f1e1ebb0849ab7d0391289666a2ce571d6f19cb7d542f9d14fd76c73408a48be23d3d76109456fa0721512ccd459cae3ade3396faa85f3a29faed8e68114917c47a7aec2128adf40e422e6bf3380fbef87433f41d48b4d27bf0875f2c1f92312cf5f5d842525be81c835cd7e6701f7df0e867e83a9169a4f7e10ebe583f246259ebebb084a4b7d0390645c2258d155e64889c969d1ac9a817bcc9bf0c7b48c657d8d761094a6fa0720b1796a3c7011f4bc905f3622d89ae57743fc074f3918e53b2aec21295df40e4152f2d478e023e97920be6c45b135caee87f80e9e7231ca7655d84252bbe81c82a5e5a8f1c047d2f2417cd88b626b95dd0ff01d3ce46394ecabb084a577d03905448c776e4df5ce0fffc61396443d0e39caa4603998c744196761094affa0720a71da14676951c44b7c5889ac07dffef3400ce633018ea272dec212960f40e414d3b428ced2a38896f8b113580fbffde68019cc66031d44e5bd84252c1e81c829a029772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a660a5dca1cab4e565b8ba24be7b977932abdefa2f58ea902e2c212961340e414cc14bb9439569cacb7174497cf72ef26557bdf45eb1d5205c584252c2681c8299829772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a66031eefa778b47e87086eae6738dd75aa68b3c8b55ea91d22d212961350e414cbf63ddf4ef168fd0e10dd5cce71baeb54d167916abd523a45a4252c26a1c82997e53ce428b03822479e871c1c62dbb9294d9348954aa48ecb584a584d5390532fb33aeddc2dd66cbab9da9ab8451d54d245eab6ea654937d6c094b09ab720a65f5675dbb85bacd97573b535708a3aa9a48bd56dd4ca926fad812961356e414cbea5acdcfb84bfdb166436cd6093db35c8c26f01696524f99b1252c26aec82997d341adf81d6e5de584539fd40a71c4e112fa228929a4a0d7634a584d5e90532fa50f6e48e7b31e4dc07405d00cd9e7ea20a0876e50494352c794b09abe20a65f491edc91cf663c9b80e80ba019b3cfd441410edca09286a58f2961357c414cbe923db9239ecc793701d0174033679fa882821db941250d4b1e52c26af882997d2407849fea6f54f0bb6cf4a85ec59d78ffb07dce7f4a1c3a3da584d5f20532fa470f093fd4dea9e176d9e950bd8b3af1ff60fb9cfe9438747b4b09abe40a65f48e1e127fa9bd53c2edb3d2a17b1675e3fec1f739fd2870e8f6961357c814cbe91c3c24ff537aa785db67a542f62cebc7fd83ee73fa50e1d1ed2c26af902997d238045c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f08b8aea797631cdd38215bc8a06b6feb683e87e3438a8fb6b09abe42a65f48de11715d4f2ec639ba7042b79140d6dfd6d07d0fc687151f6d61357c854cbe91bc22e2ba9e5d8c7374e0856f2281adbfada0fa1f8d0e2a3edac26af90a997d237845c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f0179d43264c94508b4edbe481fd1526b1302ada3138aa9f6c09abe42b65f48ddf2f3a864c9928a1169db7c903fa2a4d626055b46271553ed81357c856cbe91bbe5e750c993251422d3b6f9207f4549ac4c0ab68c4e2aa7db026af90ad97d2377c48fc71df3b05071243a54c07df075d842d992d86c5569f614d5f215c2fa46ef71e0b3c6b4c6c90dc5410c007b46ce3030774b70a8aaee2c39abe42b95f48dded3c1678d698d921b8a821800f68d9c6060ee96e15155dc587357c8572be91bbda043f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3087e94b410298c523a12502d9023680d942a704e557a5e1ed5f215ccfa46ef6610fd2968205318a47424a05b2046d01b2854e09caaf4bc3dabe42b99f48ddecc21fa52d040a63148e84940b6408da03650a9c13955e9787b57c85733e91bbd9843f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3013fba3edd8fb47db6deb2ad0f894a8d3eee960e257a785ee5f215cd0a46ef65f27f747dbb1f68fb6dbd655a1f12951a7ddd2c1c4af4f0bdcbe42b9a148ddecbe4fee8fb763ed1f6db7acab43e252a34fbba583895e9e17b97c85734291bbd97c2bef781b9e3cc1933c1f7e7fbb036e9a238d630fbd3dd373f90ae6862377b2f757def0373c798326783efcff7606dd34471ac61f7a7ba6e7f215cd0c46ef65ee3bd0391b4f558904bd4421f6e26be2633a77e83bf4f8f1d0e42b9a198ddecbdb03b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b5076595c6ea1b29828e9cd7cb766bd982426458e9d3e70f4590ae6868377b2f6a0ecb2b8dd43653051d39af96ecd7b30484c8b1d3a7ce1e8b215cd0d06ef65ed41d96571ba86ca60a3a735f2dd9af6609099163a74f9c3d1642b9a1a0ddecbda83b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b50026bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e09aed46de0546b82da4e92bd746f007b4a1faa68f9ca61682b9a1a11decbda7c135da8dbc0a8d705b49d257ae8de00f6943f54d1f394c2d057343423bd97b4f826bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e026ff9f8adba93ae571af53cf3d4e2faf4e3d028c9ca7ba83b9a1a11eecbda7bf4dff3f15b75275cae35ea79e7a9c5f5e9c7a0519394f75077343423dd97b4f7e2810d6d845076e4d93837734eb96e6b7e536662f72a08e0fe686847cb2f69efb5021adb08a0edc9b2706ee69d72dcd6fca6ccc5ee5411c1fcd0d08f965ed3df62c55b40dea803bee1ad404cba4b9c2da411bf4baca83dc409a1a11f3cbda7beb58ab681bd50077dc35a80997497385b48237e9759507b881343423e797b4f7d63d6928e48063727038163b2689453363b0b22ee82a111503686847d02f69efab06e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df550dc954ebae52cf3079e53c8a11d11d841b4d739aa8479c0fa1a11f42bda7beaa1b92a9d75ca59e60f3ca791423a23b08369ae735508f381f43423e857b4f7d54372553aeb94b3cc1e794f228474476106d35ce6aa11e703e86847d0af69efaa86e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df55068a7a767bb8f75bf6b19f0991370003c611995a7847b64fb1a11f42cda7bea9f5d61a77c4d816e36a2fa092a1d3e28736e75874c08f86df73423e85ab4f7d53d46d5a7a571655f2512ba3a4c30da78e1892d6a9511f27fef6847d0b669efaa7919bda7f7b92d4101f23a9c90581319bdbe9d312723e6a3dfd08fa16dd3df54f1337b4fef725a8203e4753920b026337b7d3a624e47cd47bfa11f42dba7bea9e266f69fdee4b50407c8ea7241604c66f6fa74c49c8f9a8f7f423e85b74f7d53c459ff986a9fcc8ac75e9b0c7ab6f6f5e8a12be5361f36c2ff847d0b6f9efaa7874011898215fb984689fc40ed644c13cbee9a26693e6f2a0008fa16e03df54f0d0c356bb10259b344e0bea9d2bef64f928976a8cf7cdff80111f42dc17bea9e19186ad76204b36689c17d53a57dec9f2512ed519ef9bff00223e85b82f7d53c3230d5aec40966cd1382faa74afbd93e4a25daa33df37fe00447d0b705efaa786461ab5d8812cd9a2705f54e95f7b27c944bb5467be6ffc0088fa16e0bdf54f0c84f6913bcfbfdb705d8b0c523e5c3212343ace8f4ce0124121f42dc18bea9e18f2ae48026ce5df0c37e27b23fc1e46a41339c2de69c03ec253e85b8327d53c31d55c9004d9cbbe186fc4f647f83c8d48267385bcd3807d84a7d0b7064faa7863a37a459480fda45c5c564f0f6fdefd0ff7ab3139770115495fa16e0caf54f0c736f48b2901fb48b8b8ac9e1edfbdfa1fef566272ee022a92bf42dc195ea9e18e66aa3bdcd15cb99cee259ebd3ee1d6bf8970eaa5ac046f658e85b832cd53c31cb6159d44701f9b6559179ff9fd298ffebda5fb0b2808f90b2d0b7065aaa7863954ec6013ada55ef62efba27379b9027d26101bd620120c566a16e0cb654f0c729299e5b228b0e617dac3a76672d7e779f6e45d6c102432ece42dc196da9e18e51533cb645161cc2fb5874ecce5afcef3edc8bad8204865d9c85b832db53c31ca2328bc537029c08ae7db00194ac5806786559b701090e5f3a0b7065b7a786394365178a6e0538115cfb60032958b00cf0cab36e02121cbe7416e0cb6f4f0c728656416d88e0d2a571c3862e4aa7be41dc41a93801243b20e92dc196df9e18e50b389533be9807cd9b53d2848d45daabb32f94cbff4877e5d35b832dc03c31ca15712a677d300f9b36a7a5091a8bb557665f2997fe90efcba6b7065b807863942a6e6727a73681b9251c103a2d0dc8d6c76a958bfa21e13b4e6e0cb701f0c7285368e0a7fb4365f50204e69c5211efd589816d73f143c41a9ddc196e04e18e50a55dd3a8a35d2e6cbbd693609c1a3dd30daf1d43df8789d93cb832dc0ac31ca14947b9a9f390bf5c2f79ece9302ad9ce160a7ce3bc0f15567a7065b816863942911b85ac93f7e13b16c09ffa584c11c426c13c23751e2c50f5e0cb702e0c728521370b5927efc2762d813ff4b09823884d827846ea3c58a1ebc196e05c18e50a426e16b24fdf84ec5b027fe9613047109b04f08dd478b143d7832dc0b831ca1484683fbd4c956c5b6dd1c5faba56ec4930b62377a5f1642bb0065b8171639429075c91d346013b399370521d6ca436ba5c18894b48e2c9fb610cb702e3c728520d4535ff38d8d8f5dead6a62d13ecb9cb2dd54f28ec5959ac3196e05c88e50a419167e571e88146e75279aed9a73f5616066ec411a8b2cd98732dc0b921ca148312cfcae3d1028dcea4f35db34e7eac2c0cdd882351659b30e65b817243942906259f95c7a2051b9d49e6bb669cfd585819bb1046a2cb3661ccb702e48728520c4400511a11705f661099d94cb960932fde3a464d15968703a96e05c91e50a41870c1c7bef046e6f79e001518f22708df6738b259fb2d284762dc0b924ca14830d1838f7de08dcdef3c002a31e44e11bece7164b3f65a508ec5b8172499429061a3071efbc11b9bde78005463c89c237d9ce2c967ecb4a11d8b702e49328520c3460e3df7823737bcf000a8c7913846fb39c592cfd969423b16e05c92650a418684dda179d1d497a55ccdb40ea1d670761e4f4b5f82d29eb63dc0b924da14830cf27c687e710f57763667ca9cc312c36be762bc7ed5a557ac8b817249c4290619d4f8d0fce21eaeec6ccf9539862586d7cec578fdab4aaf591702e49388520c33a2b2c78491a38604566b8cf28bb0f02f484f17bb269578f23e05c92720a4186735658f0923470c08acd719e51761e05e909e2f764d2af1e47c0b924e414830ce638c439d13f4403cd67a9649ae29a33ccc0084ac6a55fe090817249c9290619cb718873a27e88079acf52c935c53467998010958d4abfc12102e49392520c33966f233ff1d37291ed6b6bba6380c6f72dac6387179581264305c92725a418672b6a58d8907d47a692a39d9cbef7ec165605096a2c2b03f0870b924e4c4830ce5560c409cdd0f1cfdd14016175e63654a6b65530555609850f17249c9990619ca94d9a6c4878462271f4c8eae3c2cad14818ecbca7ac14ae1f2e49393420c339512747313dc6eec79bb657fdbf7bf3ca8ade1bd54c582b003f5c927269418672a14e8e627b8ddd8f376caffb7ef7e79515bc37aa98b056007eb924e4d2830ce542292f1da3f21da126a6261ef5e62d522624b1b12e60ada4fe7249c9a60619ca83525e3b47e43b424d4c4c3debcc5aa44c4963625cc15b49fce493934c0c33950630cecf3c9ed90752655ea3cf8f1370933f0920b682b837fac927269918672a0b619d9e793db20ea4cabd479f1e26e1267e12416d05706ff5924e4d3230ce54164f4d959f51c6a0016240b73632abea47a866ded70ae283ec249c9a65619ca82b2aad83eb79efc2ba914796645bb5fc89fd1019ab15c6abd9493934cbc3395055555b07d6f3df8575228f2cc8b76bf913fa2033562b8d57b2927269978672a0aa36c8685abe218da211e4818965361a22a082c2a9571c536624e4d3300ce541536d90d0b57c431b4423c90312ca6c344541058552ae38a6cc49c9a66019ca82a66733fa17cee8b94014582e1d8b3690852e4d66a25c72f19993934cc13395054b5a7a4cdc7433f537f57684330ccb490508dd2941b8e7873427269983672a0a954106f265beca6d27b7b3305e0ff4ba04bdfcae8071d0b2694e4d3307ce5415290e203d7853f75d073c2c88b416479c04283bb8fde3a308d39c9a66109ca82a511c407af0a7eeba0e785911682c8f3808507771fbc74611a73934cc21395054a23880f5e14fdd741cf0b222d0591e7010a0eee3f78e8c234e7269984272a0a9447101ebc29fbae839e16445a0b23ce02141ddc7ef1d18469ce4d33084e54152886e16303215d8532b8f8eb3395ad7e83d2ffdebdb3a32313ac9a6610aca82a50f683eb9110213290eebe38e6aac0df8750c3e33b374660676934cc21695054a1d5c8fcaceda88d4d5a48d44cd4e7a18e4c4bec363e8cdb0ee2699842e2a0a94394531ee4a8b742c6315e0b192935259c435bfe2c4d19d05dd4d33085d5415287116763541ed4adb7df8878b1d1d02db8317c22186a33bafbb9a6610bba82a50e12cec6a83da95b6fbf10f163a3a05b7062f84430d46775f7734cc21775054a1c259d8d507b52b6df7e21e2c74740b6e0c5f08861a8ceebeee699842eea0a943843fc402bc40b95ea7910280e0de7504136a53683219df21ddd33085de415287070b9a5e2557d54006eecb29b9b348302180e92c6133bfe7bca6610bbd82a50e0d1734bc4aafaa800ddd9653736690604301d258c2677fcf794cc2177b054a1c1a2e6978955f55001bbb2ca6e6cd20c08603a4b184ceff9ef299842ef60a9438345cd2f12abeaa003776594dcd9a41810c074963099dff3de533085dec1528706845b83b0253b68326b978c3932ae12a12bad522103c001fcb6610bbd92a50e0cf1782ceb17dcf89053fb7af1e4c207c2021eca01d7801e397cc2177b354a1c19d2f059d62fb9f120a7f6f5e3c9840f84043d9403af003c72f9842ef66a943833a5e0b3ac5f73e2414fedebc793081f08087b28075e0078e5f3085decd528706744828ce38c4decae1ca83a0ea576208fbbba75ce8c010c0bf610bbd9ba50e0ce71c63f51e6020187b61cd69cca52239f2239115ce8023257fc2177b384a1c19cd38c7ea3cc04030f6c39ad3994a4473e447222b9d00464aff842ef6709438339a718fd479808061ed8735a7329488e7c88e44573a008c95ff085dece1287067346f32019fd7634692db31765d1f6ff78bc8cb0a71011acfff10bbd9c350e0ce676a765bec85290fdd832914b2353e17123dd870df023743ff2177b387a1c19ccd60ff1085e0b4a272d318515c60da561f27f33dbb04702bff42ef6710438339994e1079b897cbc79d72f6cab0b812d438fc28d77308e1fbff85dece218706733128334c1e05fa11f2b2b3bd596683d06ca4940ae311c59c000bbd9c440e0ce6615066983c0bf423e565677ab2cd07a0d9492815c6238b3800177b38881c19ccc22cdf8924ee4aca8297951d5d906d69ad3e928789471814012ef671113833998359bf1249dc9595052f2a3abb20dad35a7d250f128e3028025dece222706733063f907d408f8dacc22b1a9d6e3813ceafa68c7a221c61f405bbd9c445e0ce660b0b33532df57ddc3c22fb62d46685c559f95b504138c58c0c77b3888cc19ccc151666a65beafbb87845f6c5a8cd0b8ab3f2b6a082718b1818ef6711198339982a2ccd4cb7d5f770f08bed8b519a171567e56d4104e3163031dece223306733054599a996fabeee1e117db16a3342e2acfcada8209c62c6063bd9c44660ce660a83f478b8c2e404679fc7c553e5eba7d9a41f760108c5a64c87b3888cd19ccc14f0aa16fc532e30fabc5bed274b3d3232f30311c1e18b66d91f671119b3399829d1542df8a65c61f578b7da4e967a6465e6062383c316cdb23ece223366733053a2a85bf14cb8c3eaf16fb49d2cf4c8cbcc0c4707862d9b647d9c4466cce660a74550b7e2997187d5e2df693a59e9919798188e0f0c5b36c8fb3888cd99ccc14e83629550004937d7428b34f4333905aedaf541dde8b687d20671119b4399829cf6c52aa000926fae851669e866720b5db5ea83bbd16d0fa40ce2233687330539e64b7acace8b078886f936504c49f93b16992d3772da398829c4466d1e660a73b5581b206a7c373c8abecf2017f9d4f5d7f6802eb5b48d5063888cda4ccc14e753715bcba25e96a4924a00bfaf598c6b5ab1261d3b6934e0d71119b4a99829ce96e2b79744bd2d492494017f5eb318d6b5624c3a76d269c1ae2233695330539d268694b956e082bdc5f4657e3ccc142d1588be34bda4edc36c4466d2b660a73a35ce4efd7b272da708b52d7bf8fe0ad9d5d5a2294b49f5c6e888cda57cc14e74545dc385c3b483798e36bd777161f833566f6a12669405cde1119b4b09829ce8917cac9654cf2f1e9939dd6e6229d2e657a2f9e49d2825dbd2233696230539d112f9592ca99e5e3d3273badcc453a5ccaf45f3c93a504bb7a4466d2c460a73a225f2b259533cbc7a64e775b988a74b995e8be79274a0976f488cda588c14e74444a68a3d73dfa120469b4df290b479b267dbf4e4b941491ea119b4b12829ce88720e3a05b5256a6c0a02fe64a0ced5e47a7c0f894282ac7d5233696260539d10d41c740b6a4ad4d81405fcc9419dabc8f4f81f12850558faa466d2c4c0a73a21a0fa0da1a1fbd1dba4d85c1202a13a1194b463e4da0acc3558cda589914e744331f41b4343f7a3b749b0b824054274232968c7c9b415986ab19b4b13229ce88663e8368687ef476e936170480a84e84652d18f93682b30d5633696264539d10cc0919297dd44b708a38f430f946fb30c506744e6a0567bead66d2c4c9a73a2197123252fba896e11471e861f28df6618a0ce89cd40acf7d5acda589934e74432e2464a5f7512dc228e3d0c3e51becc31419d139a8159efab59b4b13269ce8865c48c94beea25b8451c7a187ca37d9862833a273502b3df56b3696264d39d10cb81da4f08a1b198b5b5c09378c6611344b1387429d567d8ed76d2c4c9b73a2196f3b49e114363316b6b8126f18cc226896270e853aacfb1daeda589936e74432de02a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb760a986b550b22c094f3ac18a63a8be49be97d99c967df7d7ad2c4c9bb3a2196ec1530d6aa16458129e758314c7517c937d2fb3392cfbefaf5a589937674432dd82a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb76035990dfd888e8c070787b25b9f1c71b9441bf8937df97bae2c4c9bb4a2196ebf6b321bfb111d180e0f0f64b73e38e3728837f126fbf2f75c589937694432dd7e627690a2f89cb2d3eae4f16672cfeedfbcb23e4af7e792b9b1326ed38865bafb50ff79f2c79be85fa2900ac4dbfe05ba25a6d892efd0c9746264dda810cb75f52e114c92659a537711e63d81ae5a336ef7900d22dfa336e9c4c9bb512196ebe95c229924cb34a6ee23cc7b035cb466ddef201a45bf466dd3899376a2432dd7d244578af66ccbd094145f1dfeafc6f5b68a8290887e8e7fa81326ed45865bafa314c16e99affa23dff58463f555ec1367c1477d0dfd1ea351264dda8c0cb75f452982dd335ff447bfeb08c7eaabd826cf828efa1bfa3d46a24c9bb518196ebe8a5305ba66bfe88f7fd6118fd557b04d9f051df437f47a8d4499376a3032dd7d14321dcd7a5633a1b778e947a2a5bec338b67e446ce8f6be8a326ed46165bafa27643b9af4ac67436ef1d28f454b7d86716cfc88d9d1ed7d1464dda8c2cb75f44e54898e962f310995b06b46828d5934dd863b6db0a3dc9e29c9bb518696ebe89b352575d934c495e32d9cb4fd111091b5b8b9375e47bae0549376a30e2dd7d1356a4aebb269892bc65b3969fa2221236b71726ebc8f75c0a926ed461c5bafa26a60a83011a974da448338fbec3aa06ed18f2739761eed25534dda8c39b75f44d34d62b8d0294c3740d3381fd06b9f059dca90cee93ddbeea79bb518746ebe89a526d7ca4d28faf13973366798cd9c33364163f9cf7bb98150376a30e9dd7d13494daf949a51f5e272e66ccf319b38666c82c7f39ef77302a06ed461d3bafa2692277181e17a4e479d999fc65b2ccef4d3b1d2433aeee7a941dda8c3a875f44d234ee303c2f49c8f3b333f8cb6599de9a763a48675ddcf5283bb518750ebe89a4629d86032bf9ba12e33454164a999fb49738b68e8bba0490876a30ea2d7d1348b53b0c0657f37425c668a82c95333f692e716d1d177409210ed461d45afa269163373d977d4d1077099db2d8a9cc615207a6fff9fee82c822da8c3a8c5f44d22b66e7b2efa9a20ee133b65b15398c2a40f4dfff3fdd059045b5187518be89a45659e1be8c29a6a07a3432de2269767c7c96025a7cba0cc48c6a30ea327d1348ab3fd5d5c529afc3ac352be43cc94b20f3d84710f6741b2d19d461d465fa2691550bbe043729c20a10371df07188f469e25cd07de9e837fe34a8c3a8ccf44d22a9177c086e538414206e3be0e311e8d3c4b9a0fbd3d06ffc6951875199e89a45522ef810dca7082840dc77c1c623d1a7897341f7a7a0dff8d2a30ea333d1348aa45df021b94e105081b8ef838c47a34f12e683ef4f41bff1a5461d4667a269154847f29c1f728323bb3ea52f1085a4c620794a3a9b8381874b8c3a8cd044d22a8f1bf790ebbb68ca2e4a10861901a7b43b9ed6d1340704b298187519a189a4551d37ef21d776d1945c94210c32034f68773dada2680e09653030ea33431348aa3a6fde43aeeda328b928421864069ed0ee7b5b44d01c12ca6061d46686269154746bcee00ab1a8d42a1d4a58c0039bc9d7a2f8e59d382738c1c3a8cd0d4d22a8e763b018c239b42b0c075ad977fd95bba9f23427377050158487519a1b9a4551cd53728a3149cad8cfdb7bdae7f1899f4e90aaaa6be0a1cf0a0ea33438348aa39932f76d0f69f8345783bdddc7d9716697cd97b0d4c14542151d4668716915473165eeda1ed3f068af077bbb8fb2e2cd2f9b2f61a9828a842a3a8cd0e2d22a8e6257f00cea7e435415dbbd9f175c23c259e2a11f500516ac557519a1c6a4551cc33bf27281d2e92ae384416626aea5acae71849a9d0a2efcabea33438e48aa398503f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730907ee7b60f869b0fdaa91e88aa75302af1e97226e28bf3ab1a8cd0e3b22a8e6120fdcf6c1f0d361fb5523d1154ea6055e3d2e44dc517e7563519a1c764551cc241fb9ed83e1a6c3f6aa47a22a9d4c0abc7a5c89b8a2fceac6a33438ec8aa398483f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730900afa0ebc5cfd929275e4b0a26b8e52ec95b482df8bf54f1b8cd0e3b32a8e611f15f41d78b9fb2524ebc96144d71ca5d92b6905bf17ea9e3719a1c766551cc23e2be83af173f64a49d792c289ae394bb256d20b7e2fd53c6e33438eccaa39847c57d075e2e7ec9493af2585135c729764ada416fc5faa78dc66871d99547308f83bb34472a63babdf2b11321eaf4356c4078a89f5bf5695b9cd0e3b33a8e611ef0378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba0de386488b6769d88ba230d55393560aed5dbfa1fabb3dd26871d9a147308f741bc70c9116ced3b1174461aaa726ac15dabb7f43f5767ba4d0e3b3428e611ee8378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba06a4abd358cd9204086e9354d2f9388a9821e561cabb58127871d9a157308f73f60a7d317f014c338da9892925585394db07f0836576ca6500e3b342be611ee7d4d61fedcb68c092981f74d1ca1689a960d406c69aedaf0a11c766858cc23dcf926d65666437a950ad0b4c231392f5d26c6c334d05db7854338ecd0b29847b9f14dacaccc86f52a15a1698462725eba4d8d8669a0bb6f0a8671d9a165308f73e2276bb245e44cd6e30f9930bcdb1b9c95c74f2f3e76dfb90de3b342cb611ee7c34ed7648bc899adc61f326179b637392b8e9e5e7cedbf721bc7668596c23dcf8629c121c46795de440b2aeaeb62cc9a51c97f18f6db8088388ecd0b2e847b9f0b53824388cf2bbc881655d5d6c59934a392fe31edb70110711d9a165d08f73e163316dfbe74b9fbc7f971d3a581909141d23ebfd86e03c4e33b342cbb11ee7c2b662dbf7ce973f78ff2e3a74b03212283a47d7fb0dc0789c67668597623dcf856586dd7a6a94a71d7b28d768dfca06d01f53d5b5eb810b78decd0b2ed47b9f0ab3cee07fa28f7666731e11513ef9f01fe96bd12ba7023131cd9a165db8f73e15505ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a90bdcd14250a29f0c6110a43fab3857efb37902e3c08f9475668597703dcf855217b9a284a1453e18c221487f5670afdf66f205c7811f28eacd0b2ee07b9f0aa42f734509428a7c31844290feace15fbecde40b8f023e51d59a165dc0f73e15485ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a9049df6cd1e08c737dddd06bf2a9e3a6f5e3d28a3908faeb5768597704dcf8551f1fd13250977b69b38866ffdd4a2575e673e7706f11f77aafd0b2ee0ab9f0aa3d3fa264a12ef6d36710cdffba944aebcce7cee0de23eef55fa165dc1573e1547a0b5721ef34502985ee62276d1ef3ff947be01db947df8ec042cbb82be7c2a8f316ae43de68a0530bdcc44eda3de7ff28f7c03b728fbf1d8085977057cf8551e62d5c87bcd140a617b9889db47bcffe51ef8076e51f7e3b010b2ee0af9f0aa3cc5ab90f79a2814c2f73113b68f79ffca3df00edca3efc7602165dc15f3e154798418477a01b651b16b2e89ec9e59e21426a4437917dfa90052cbb82bf7c2a8f2f0f1b47ed0d2cb8e53297658bc19a6a7f80cacb1ffbf6c40b5977057ff8551e5d1e368fda1a5971ca652ecb178334d4ff0195963ff7ed8816b2ee0afff0aa3cba3c6d1fb434b2e394ca5d962f0669a9fe032b2c7fefdb102d65dc15ffe154797404ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e709d9302a7f9093c2c302a8ac0662f7ed653169f9bf6f88b7977058018551e5ce13b26054ff212785860551580cc5efdaca62d3f37edf116f2ee0b0030aa3cb9c2764c0a9fe424f0b0c0aa2b0198bdfb594c5a7e6fdbe22de5dc16006154797384ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e7029a55b54cf6bbee3fcf0b2b85c8da6d0ff58fb98f6fa2f7a77058019551e5cdf534ab6a99ed77dc7f9e16570b91b4da1feb1f731edf45ef4ee0b0032aa3cb9be32a7c60014117e47c088f2d96894c33ea9a64a60dbea61eadc1600665479737b654f8c002822fc8f8111e5b2d129867d534c94c1b7d4c3d5b82c00cca8f2e6f656b170ad26a87bd6cee9f35d98b134f552db85806fab2bac7058019a51e5cdeb39753a0723b37a656a9a0eb327c091e551f966fddf57fb59e0b00335a3cb9bd572ea740e4766f4cad5341d664f8123caa3f2cdfbbeaff6b3c160066b479737aa71e740c965306c4d772e62c495606f8ff427f7f47d61916882c00cd78f2e6f536fe0da3fa0c35b52bb22ed81211f071a94924be5fac4c6d2058019b01e5cdea56bd40d2c17e9395d430c02fa389c362fd566f3c8f58b31a50b0033613cb9bd4963ba73050634f57252de2dec6796945a5710438eeb18074b160066c379737a9153873eb6e2cc6d9c728283d0c58b50af5a62e31ad631b2972c00cd87f2e6f5213320d61a9bfb5df0b1cb2f998174c95961082232ac65092f58019b10e5cdea416641ac3537f6bbe163965f3302e992b2c210446558ca125eb0033621cb9bd4825895b117464ffa7a93f2e65dfc314d603062e4c7b195c8be60066c449737a9033d3dbadb630277acf4abf4b3eec0c2bb0d08258c632d357dc00cd88a2e6f5205068dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea4090d1b9cc738cee4236c3c22bfa7bf5ae18ca54e2b8cb81df90033622ab9bd48121a37398e719dc846d878457f4f7eb5c3194a9c5719703bf20066c455737a9024346e731ce33b908db0f08afe9efd6b86329538ae32e077e400cd88aae6f5204868dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea40905dcc25206350c4ee908853f27253d61376973eb5cb838391033622ac9bd4811f47aaa2ed9d040c94edd6cfdcdb05d4219970d9689708ab23066c455a37a9023d1b679e88106a9be1a873c7b1ac69d03ddf240ece2e12fa470cd88ab56f52047936cf3d1020d537c350e78f6358d3a07bbe481d9c5c25f48e19b1156adea408f26d9e7a2041aa6f86a1cf1ec6b1a740f77c903b38b84be91c33622ad5bd4811e4674f4ced59b761c51064658559aca9e9a562d26e7099763966c455ac7a9023c75ab0f28789d14641ed8ef302a9b77bcdf70800d9e1349073cd88ab59f520478d41743dbbea050f3ba7e40dfd49cd1f969a525db0c26ac4e89b1156b4ea408f190efad424aa6ca12f1c8e43f289f86727e0e7175e84d72dd23622ad6ad4811e311df5a84954d9425e391c87e513f0ce4fc1ce2ebd09ae5ba46c455ad5a9023c623beb5092a9b284bc72390fca27e19c9f839c5d7a135cb748d88ab5ab520478c403e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f18707d1f3a4538f186162708f188c42c27366f62de24d762525622ad6af4811e30e0fa3e748a71e30c2c4e11e31188584e6cdec5bc49aec4a4ac455ad5e9023c61c1f47ce914e3c618589c23c62310b09cd9bd8b78935d8949588ab5abd20478c383e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f1870093192f20f5408cdf3cf1980ba8a4f311ba53a21d763f65722ad6af5811e30df126325e41ea8119be79e330175149e62374a7443aec7ecae455ad5eb023c61be24c64bc83d502337cf3c6602ea293cc46e94e8875d8fd95c8ab5abd60478c37c498c97907aa0466f9e78cc05d4527988dd29d10ebb1fb2b9156b57ac08f186f81f2b87cdcba30f9709b7c0039f031b0c6695fe1a764109732ad6af5911e30def3e570f9b97461f2e136f80073e063618cd2bfc34ec8212e655ad5eb223c61bde08c077e404eec113f3a52806726a942c469a5466d905c9cdab5abd65478c37bb1180efc809dd8227e74a500ce4d528588d34a8cdb20b939b56b57aca8f186f762301df9013bb044fce94a019c9aa50b11a69519b64172736ad6af5951e30deec4603bf202776089f9d2940339354a16234d2a336c82e4e6d5ad5eb2a3c61bdd81819d6ed254e93f70718a85f1d076abf15e7a26a905e40dbb5abd65578c37baf3033adda4a9d27ee0e3150be3a0ed57e2bcf44d520bc81b76b57acaaf186f75e60675bb4953a4fdc1c62a17c741daafc579e89aa4179036ed6af5955e30deebc4ce1101600d72270058b6af0de997df35b7f6f5182f3aadead5eb2acc61bdd7725d478d8d810c797d7dcfdd9b39123e163413aa005e8f9be5abd655a8c37baed4ba8f1b1b0218f2fafb9fbb3672247c2c68275400bd1f37cb57acab5186f75da23643c1036a5a1172c3a1f5ec4a2b7803947467d17a58afa6af5956b30deebb346c878206d4b422e58743ebd89456f00728e8cfa2f4b15f4d5eb2ad661bdd76619a348edb0f907147daea57308e905fb915f75f15e97cfeaabd655adc37baecb334691db61f20e28fb5d4ae611d20bf722beebe2bd2f9fd557acab5b86f75d96668d23b6c3e41c51f6ba95cc23a417ee457dd7c57a5f3faaaf5956b70deebb2c592ca01a5e2abb5bba3b53903da657d7373e0b87f4c023565eb2ad6f1bdd76573e6b98e192b7f96f413ccf1871aad7a91abe730ce981eaadbd655adf37baecad08e98a6ffbd275964f3fc628d9b3d74ce1bf4216d305795c7acab5bf6f75d95911d314dff7a4eb2c9e7f8c51b367ae99c37e842da60af2b8f5956b7edeebb2b223a629bfef49d6593cff18a366cf5d3386fd085b4c15e571eb2ad6fdbdd76564474c537fde93acb279fe3146cd9eba670dfa10b6982bcae3d655adfb7baecac81aaaffac9389dc1cc0c28a85919b9cc8c8367d6a305939c8acab5bf7f75d958f3555ff592713b8398185150b23373991906cfad460b273915956b7efeebb2b1e6aabfeb24e277073030a2a16466e732320d9f5a8c164e722b2ad6fdfdd76563c616a561172b1639dd2da7c24833b0e40edf6474e82cb7246655adfc0baecac774ee704cfbbc549f3727b2040fcd4447c882eea9a0598888dcab5bf8275d958ed29e0624c4ded169eb1bc6879f006b0f3bca031310b32b51c956b7f05ebb2b1d953c0c4989bda2d3d6378d0f3e00d61e77940626216656a392ad6fe0bd76563b23393e1de0e16dd3293b7c9dfb678ebc99ec320c12ccc787355adfc18aecac7636727c3bc1c2dba65276f93bf6cf1d7933d8641825998f0e6ab5bf8315d958ec65a61e0250ebdf7821ba54f76d041d721274edf01b33385ce56b7f063bb2b1d8b40d618f6f3de71bc0410c6e596e1d63cfae01a006668af9dad6fe0c876563b150dbe8a9abe1f662fd4e7b5c32421d474a2028ffdccd3033c5adfc191ecac76291b7d15357c3ecc5fa9cf6b864843a8e944051ffb99a60678b5bf8323d958ec5236fa2a6af87d98bf539ed70c908751d2880a3ff7334c0cf16b7f0647b2b1d8a46df454d5f0fb317ea73dae19210ea3a510147fee669819e2d6fe0c8f6563b14867fb0258b858e5b51b41842a387b6f44cc6b5bd9cd31d7c6adfc191fcac7628f5c085d5e47144e220349304c67550684451913b09a65538e5bf83240958ec51d44231369648b1efbd3588890c50835033674835e34cc4b1db7f064822b1d8a3914587f7f9f78c0af73773919806e9201192b62b9699a3a3c6fe0c905563b147128b0feff3ef1815ee6ee723300dd24023256c572d3347478dfc1920aac7628e25161fdfe7de302bdcddce46601ba480464ad8ae5a668e8f1bf83241558ec51c42ed654a9d2288833687ff0c3f9d2b803759d71c84cd375e47f06482bb1d8a3875daca953a4511066d0ffe187f3a57006eb3ae39099a6ebc8fe0c905763b1470e476bab541f04a3856ec5eb07dda9080882b8231e334f7b92fc1920afc7628e1b1ae9af55146bc9c2aa51fe07b1b0380bb1b2a23966a09b26f83241608ec51c3535d35eaa28d7938554a3fc0f6360701763654472cd41364df06482c11d8a386a6ba6bd5451af270aa947f81ec6c0e02ec6ca88e59a826c9be0c905823b1470d4635fd35579c0d0cd1f56183583dfe85839d76dc835067d38c1920b057628e1a752d1ff57c9e424520b725862fe1df8ab1ff1378d6a0e9e728324160bec51c34d31b6575c6a2acb5be3aad8bdf29a1950ec24cb17d41ee0e606482c18d8a38699636caeb8d45596b7c755b17be53432a1d849962fa83dc1cc0c905831b1470d3252ebb61e7f0db0275b718aefc0c68d3e5cd5885c507d27991920b064628e1a6331e9c4e9d47de30683a93dd777eb427765ed6cb5a0fbf333324160c9c51c34c563d389d3a8fbc60d07527baeefd684eecbdad96b41f7e6666482c1938a38698a53b96c54285a0ed1db6b1f55d60b31d843f80ed383f170cdc90583281470d313338531552716a05b839c66a3a2748bab343279a407e4859c920b065128e1a625670a62aa4e2d40b70738cd4744e917566864f3480fc90b3924160ca251c34c4a5a271e0172bd0425db37c286803056a77d0c428d1f93ba73482c1945a3869893406094afbbdc8b038335ad04f6bed549a65ae1173f2918e79058328c470d31250cd3820c4e1b98bed3318201e3dbd28df8f81e2b7e53d5d020b065198e1a624919a704189c37317da6630403c7b7a51bf1f03c56fca7aba04160ca331c34c492334e0831386e62fb4cc608078f6f4a37e3e078adf94f574082c1946638698924669c106270dcc5f6998c100f1ede946fc7c0f15bf29eae81058328cc70d31248594a7971b81c0ea4ffde4816341b50da3bc43eb4e53f01030b065199e1a6248f3ea74b90469aa001cc82b8245e94c9af23cad966ca7fa607160ca334c34c491d0960efcd6397c2bb65cb9840b387bb58f3d80eca9500f00f2c19466a8698923912c1df9ac72f8576cb973081670f76b1e7b01d952a01e01e58328cd50d3124722583bf358e5f0aed972e6102ce1eed63cf603b2a5403c03cb06519aa1a6248e44b077e6b1cbe15db2e5cc2059c3ddac79ec07654a807807960ca335434c491c8222155830fdeae6e297fac032ed9dd89e9c348a65010a4f3c19466a96989238f4442ab061fbd5cdc52ff58065db3bb13d386914ca02149e78328cd52d312471e1497aeb915dd3c7072c4d804b1c59e22534f7e96404437d006519aa6a6248e3b292f5d722bba78e0e589b009638b3c44a69efd2c80886fa00ca3354d4c491c76525ebae45774f1c1cb136012c71678894d3dfa590110df4019466a9a989238ec30cfce75854c663b62ece81d848b190d46be50af02236281328cd536312471d7619f9ceb0a98cc76c5d9d03b0916321a8d7ca15e0446c5026519aa6c6248e3ae4f519282eb941ba55879c86e088a8c2fc73b9eb9088f2e05ca3354d9c491c75b2ab57db2ad8aba027db9b8d40773405a3ab9996f1120000c9466a9b489238eb5556afb655b157404fb7371a80ee680b4757332de2240001928cd536912471d6a36e84f778c8d6ac1c3ad0b48142b29639728c1b94481a433519aa6d3248e3ad36dd09eef191ad583875a1690285652c72e51837289034866a3354da6491c75a667b3968b08982dbedb7a5518470acd8908e562e2120834ce466a9b4d9238eb4b5b7985c2e792de3583bad2288473c30cbe0d21c124120d9d8cd5369c2471d69543056432a5883f22d43bcc48ff45ae14285c9f7f4825bf3c19aa6d3948e3ad29121d2112217300fd753dc089f4e98422fcfb9afb904d22793354da7391c75a51243a422442e601faea7b8113e9d30845f9f735f7209a44f266a9b4e7238eb4a24874844885cc03f5d4f70227d3a6108bf3ee6bee413489e4cd5369ce471d69441cfb613de1fa8aa376b42c479daa4912941f33d9826ab7ca9aa6d39d8e3ad28739f6c27bc3f51546ed68588f3b549225283e67b304d56f95354da73b1c75a50e73ed84f787ea2a8ddad0b11e76a9244a507ccf6609aadf2a6a9b4e7638eb4a1c73ed629be636d7d382678a34e3b0708f4d3bfac913576255d5369ced71d6943773ed1de4a2d0325ed1953c61bdbf091946ba518f26b068acaa6d39dbe3ad286d73ec94761c02e7756ff0a0bb71dc3a2d39b6ff1b4d62755a54da73b8c75a50d973eb81990e6851a2aca7696eda169c551fb05a339ac68eb5a9b4e7728eb4a1b173e95bdef33325fd2614fad5aa8b60a4eba31064358ec16c5369cee61d69436173e5106abcc8ceb218f01da34b74e94483887cc56b1f26d9a6d39dcd3ad286c173dc79824ff4201bfea6633e8d47fa83b3535587d63ff1b44da73b9b75a50d8173cb4bb1764ac2efca12ee7510ee1d0212e9070cac8187699b4e7737eb4a1b0173a8f00fc2f8089760ec04e2183a61fed2146a165904b2d4369cee70d6943601736438cc5c5293e68e9e31bc26d2ebf8506b3029b20b09a96d39dce2ad286c0172daca458f07aa84ea028b704403ffeb4d18bc506417b753da73b9c65a50d80171c7ed37f471d7c1a0cb3ed87e6627d14673d49dc83112a8b4e7738db4a1b0016fa2331cbf46323b0e5ca5a8f32a779d392a05389063c95269cee71c694360016b56bee654eee72de97f7349dcb317351e96666e20c936a5d39dce39d286c00162bfd679804051139fc50e8bafc45664e96f28d94194114ca73b9c74a50d80015192059fd6e324df0c50450f55e6d4c47f20adaf8329c69a4e7738ea4a1b00012f3663ec8428cc75e566b216a22bd183aa83b75c065531359cee71d5943600015e6cc7d9085198ebcacd642d4457a30755076eb80caa626b39dce3ab286c000248ebe85ee705b48f6260f0527f0d6e095651396d195668d773b9c75750d800031dea296aa46debd69188089cf479040d58e4ced732ae75afe7738eafa1b000053bd452d548dbd7ad23101139e8f2081ab1c99dae655ceb5fcee71d5f4360000a03bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c000130775fcaed034642425cc94d7908470601fab2eb39576f5813b9c757f0d8000260eebf95da068c8484b9929af2108e0c03f565d672aedeb027738eafe1b00004c1dd7f2bb40d190909732535e4211c1807eacbace55dbd604ee71d5fc360000983bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c00013003722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0dc88e6766a313e8a63dd5c3fa94b7f29bd51cd95dc3f052e71d5fc76000097c1b911ccecd4627d14c7bab87f5296fe537aa39b2bb87e0a5ce3abf8ec00012f83722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0689b3f234093c14230a384379fa9a72469942992dc40a92f71d5fc77000097bf5d48d6f3578a053c2e0d306735b176437f6aaf22b882f65fe3abf8ef00012f7d46a4069385768d3028e088c661c11481ab17ba42710790c0c757f1df00025ef9195a65d3e14f9d181e873984b9e050fe0271d081e210c5828eafe3bf0004bdf132b4cba7c29f3a303d0e730973c0a1fc04e3a103c4218b051d5fc77e00097be26569974f853e74607a1ce612e78143f809c742078843160a3abf8efc0012f7c456e5874be0df6b78c0fff41dc560afeabfd0e00c1087d015757f1df90025ef8739dd6744982159a94ec61033811f87d02be41c152111442beafe3bf3004bdf0d73bace893042b3529d8c2067023f0fa057c8382a42228857d5fc77e60097be1a7387f5bf36e7e95d07de68c5fadc473b5bd2cc518446b4b0abf8efcd012f7c337322442b44325571dc82f983ec16b67163e7f4a0088f0d6257f1df9b025ef8657256e1035ec72d9b85cc1affce8b94dd7412453d111fbec5afe3bf3704bdf0c970c01ab393f0ddeed85e5df7937551b59466e6772241218c5fc77e6f097be1916d928e13fe443e957d82e3e71d48cb65d51028eb4483e719bf8efcdf12f7c321673774d4d2eaffe2c7cbefc630efbec65662add3890972347f1df9bf25ef86415a8142567c38827d5c5e0784583da5875907b7a412148869fe3bf37f4bdf0c814114dd59ced387b285823700a6d973095e51cb45242ab4d4fc77e6ff97be19010e3c13607409921cd7ca95f944110e0d68e5f28748570daaf8efce002f7c32011c7826c0e8132439af952bf288221c1ad1cbe50e90ae1b55f1df9c005ef8640238f04d81d02648735f2a57e510443835a397ca1d215c36abe3bf3800bdf0c80471e09b03a04c90e6be54afca2088706b472f943a42b86d57c77e70017be190086fd38eb416fba485496f878c376f08d13aa1847185727eb08efce003f7c3200f6bb976150459cbc25fa53710653c399d218564e00ae6a1621df9c008ef86401d638544d6df161a3c8c109618c0d69b34ef4d25bd15cee6c53bf38012df0c8039531ce25a948eb730e4e75429780b5e648adca7772b9f718b77e70026be190071324c1d61ff7ff1199694d04ae674e4c3c1fbaaeb57408717efce004e7c3200e164983ac3feffe2332d29a095cce9c98783f755d6ae810e2fdf9c009cf86401c25542ce34d462471e271969239031bb09b43107aa5d03c060bf38013af0c803833697f5167f2710f41af8fa3f16c19e0e14a46b51ba0924c27e700276e19007056d2fea2cfe4e21e835f1f47e2d833c1c2948d6a374124984fce004edc3200e0a66722d06d2fec68838aa10f45164a032fed40943e826370af9c009dc86401c1358f6b2ba7c600fc83e1a49e099276860a9ea6e84d04e1216f38013ba0c8038253dffbe21cf22a24848fabbb928acf8bc00173906a09dc82ee7002775190070490811d4f074a7c7485ebb9f6a47b81972ac70ce0a413d345ece004eeb3200e0911023a9e0e94f8e90bd773ed48f7032e558e19c14827a68bd9c009dd66401c122204753c1d29f1d217aee7da91ee065cab1c3382904f4d17b38013bacc8038244408ea783a53e3a42f5dcfb523dc0cb956386705209e9a2f670027759900704880d2fa7b420def73db8801e9c71dfbf25734f3ca113d4e9ede004eeb4200e090f1a5f4f6841bdee7b71003d38e3bf7e4ae69e794227a9d3dbc009dd68401c121e34be9ed0837bdcf6e2007a71c77efc95cd3cf2844f53a7b78013bad08038243c697d3da106f7b9edc400f4e38efdf92b9a79e5089ea74f6f002775a1007048785f0cd3eee451f69354c811bf145a1a51e136260e3d5042df004eeb4300e090ef4a2c008a9f066fde76564b761f125c9e6eaea8197aa229bf009dd68701c121dd206a59c2146f6274b972bee43482e137899fac2ff545f77f013bad0f038243b940d4b38428dec4e972e57dc86905c26f133f585fea8beefe02775a1e070487720dbbbfb528200c8ab2912388c869acd8d2c10cbcd51981fd04eeb43d0e090ee31b777f6a504019156522471190d359b1a5821979aa3303fa09dd687a1c121dc636eefed4a080322aca448e2321a6b3634b0432f3546607f413bad0f438243b8c6dddfda94100645594891c46434d66c6960865e6a8cc0fe82775a1e87048771867ce53ff58634b62f5d860847cf8f587d85327ca5199c3d14eeb43d1e090ee2f5baf00ab8729197db876e900f050130a5ce8ab91a3352ba39dd687a4c121dc5d43705a03e4b4b5b33db3f9f9d6fe4e0f6613b320466bfb483bad0f4a8243b8b912f30cb49fcbee1e482e1beba45ac4197869c23d8cd99a91775a1e960487717125e619693f97dc3c905c37d748b58832f0d3847b19b33522eeb43d2c090ee2e24bcc32d27f2fb87920b86fae916b1065e1a708f633666a45dd687a58121dc5c423aabe51d4c1f3aa0e370755193448c66f906de966ce788cbad0f4b1243b8b8747557ca3a983e7541c6e0eaa3268918cdf20dbd2cd9cf11975a1e9624877170e1abd51f4296a516005a2454c5b2f4b146a8413a29b3b8633eb43d2c590ee2e1b357aa3e852d4a2c00b448a98b65e9628d508274536770c67d687a58b21dc5c366af547d0a5a94580168915316cbd2c51aa104e8a6cee18cfad0f4b1643b8b86c61fce84e21b50db7f9d8525acfd8809e0062f911d9ddd5a05a1e962d877170d7500c294919cc9e27c076ccad960f2936ad084e20b3bd4f41b43d2c5c0ee2e1ad2c2aab3f09fbbf074db3c153227c7a680652f83e677c4284687a58b91dc5c3595855567e13f77e0e9b6782a644f8f4d00ca5f07ccef88508d0f4b1723b8b86b23cbd05a8fe517ed503952d448050119ac58e3cf69df2ae12a1e962e577170d63058c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac50b18c7fda60b00c3a7e10501edfc96606ebdabd477ce004c87a58b97dc5c358a16318ffb4c1601874fc20a03dbf92cc0dd7b57a8ef9c00990f4b172fb8b86b142c631ff6982c030e9f841407b7f25981baf6af51df3801321e962e5f7170d62858c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac503d9ed88737128ef24ad67816d6278e01981d19447ce1a8c97a58b97ec5c3589f075009bb4487a09c62731825a2ad43fddc7c8e85f9c4f593f4b172fe8b86b13d0ea01376890f4138c4e6304b455a87fbb8f91d0bf389eb27e962e5fd170d627a1d4026ed121e827189cc60968ab50ff771f23a17e713d64fd2c5cbfa2e1ac4f43a804dda243d04e31398c12d156a1feee3e4742fce27ac9fa58b97f45c3589e80112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0897a308f6e463ef9fbd529109933ec3a05a22e4e287ea0258b97f4dc3589e78112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0158c893c44a8c1b1c89b51088f921434b1e48a4b288044268b97f4dd3589e77f2b191278895183639136a2111f24286963c914965100884d172fe9ba6b13cefe563224f112a306c7226d44223e4850d2c792292ca201109a2e5fd374d6279dfc3876a28efba8904611a0b03c72eec9a03b66ae564403c5355cbfa6eaac4f3bf770ed451df751208c23416078e5dd934076cd5cac88078a6ab97f4dd5589e77ee6dece2e8c504c3d01348e8e9c2194e7b99dd15561010b8d672fe9babb13cefdb67ec1e7e606c0a57f357f9cb7a90c4f1dffc86a9202315ade5fd37586279dfb55bea95a9973a9767b3761b8eeb7fb1de6c3b694f4047cf5ccbfa6eb1c4f3bf6943e7840004d7b18733b25f15cd5d8bb784b92e9b809142ba97f4dd6489e77ed113e160ace011e5c6342ae62391193f69b5b4b934012429762fe9baca13cefda127c2c159c023cb8c6855cc4722327ed36b697268024852ec5fd37594279dfb424f8582b380479718d0ab988e4464fda6d6d2e4d00490a5d8bfa6eb284f3bf6842b1d5e13d6f1b0e96e1d59147f28234859e8259d0922efb27f4dd6519e77ed07563abc27ade361d2dc3ab228fe504690b3d04b3a1245df64fe9baca33cefda0e3887d0fc3229465d853b8c49f2feb51c13e2f271248d62cafd37594779dfb41b710fa1f864528cbb0a771893e5fd6a3827c5e4e2491ac595fa6eb28ef3bf68366e319c9d9f079c2de1b4591fc258fc6afbce25c192372f2cf4dd651ee77ed06b687591e81471bb13902eda377b1020d0a3dea7802470025ae9baca3ecefda0d55cfd7c7cff45f8deed23dc66ec7e699bf3ffaafd48e1a8b6d375947e9dfb41a9460d51a6d4ee7475a70de0c5cf5afb329441b1f791c4f56ea6eb28fe3bf68351182cfbfa803f6ba31ae1e98395141e5fd4c5bfec238b8ede4dd651fd77ed06a13059f7f5007ed74635c3d3072a283cbfa98b7fd847171dbc9baca3faefda0d4260b3efea00fdae8c6b87a60e5450797f5316ffb08e2e3b79375947f5dfb41a844d7a3880d85ddfd0a3d574149eff1af952705b5e1c5e1af36eb28fecbf6835072706c9ae871e425914711021345c5ded512312b938bdd9e7dd651fda7ed06a0d4e0d935d0e3c84b228e2204268b8bbdaa2462572717bb3cfbaca3fb4fda0d41a282d7f66f2db8c1c1e8a687cc7cf9faff0cea6e1e2f90ba075947f6afb41a833505afecde5b718383d14d0f98f9f3f5fe19d4dc3c5f21740eb28fed5f68350662cc85648a1d0b32846efc9eb159ca6ba6f7cf7848be5d282d651fdaced06a0cb5990ac9143a166508ddf93d62b394d74def9ef0917cba505aca3fb59da0d41963f33b1cf5da54f58e8854fa44cd0c2e46a363a0f2f98ee0c5947f6b4b41a832b0a79bc4b91ad21699dd0c7408fffadc380aed01b5f338019b28fed6a6835065514f37897235a42d33ba18e811fff5b87015da036be670033651fdad4d06a0caa29e6f12e46b485a677431d023ffeb70e02bb406d7cce0066ca3fb5a9a0d4195453cde25c8d690b4cee863a047ffd6e1c057680daf99c00cd947f6b5341a832a833ae1d65f1349951a9d29c00f6590432b72f5db2f339a59c28fed6a78350654f675c3acbe26932a353a53801ecb208656e5ebb65e6734b3851fdad4f06a0ca9e5acace449b34e7fe741097fbcfc238c588ffd2c8cce83a71a3fb5a9f0d41953b41a7f5360ccc52b4b4e757ef95e29985be42018e99d218e447f6b53f1a832a750f624318effb28213694d7d722235b0628c65f1a33a5d5c98fed6a7f350654e91ec48631dff650426d29afae4446b60c518cbe34674bab931fdad4fe6a0ca9d23d890c63bfeca084da535f5c888d6c18a3197c68ce9757263fb5a9fcd41953a407247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a7470e48e2e8ac77878302d9cd620ef20057e4eaa99d3a60a49afed6a7f550654e8e1c91c5d158ef0f0605b39ac41de400afc9d5533a74c14935fdad4feaa0ca9d1c39238ba2b1de1e0c0b6735883bc8015f93aaa674e982926bfb5a9fd541953a387247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a747070a087379ddafae7fa62fe18e57e2d78faecf5d0a60bedb0ed6a7f560654e8df6d53671c12187887c18c2429c15a82eca21c479e4c197f62dad4fead0ca9d1bd66b926e4fa9373c74fde704b79132dd3f07aeb399834a2c6b5a9fd5b1953a3795984a676cb896a466c83088ee88483a28d383270306ae98e6b53fab732a746f13f1ba59a6d755744a5cc3915c7672f3fc6b2c0dd60d7771dd6a7f56f654e8de10a49a3e1b14d3141185e9a23852c867a39a7ddb7c1b0923cad4feadfca9d1bc1149347c3629a628230bd34470a590cf4734fbb6f836124795a9fd5bf953a378229268f86c534c504617a688e14b219e8e69f76df06c248f2b53fab7f2a746f04524d1f0d8a698a08c2f4d11c296433d1cd3eedbe0d8491e56a7f56fe54e8de0830ac96c7eb3596c952afca3049268f9e46c037791b0ac7cbd4feadfda9d1bc0f61592d8fd66b2d92a55f9460924d1f3c8d806ef236158f97a9fd5bfb53a3781e4ec4b3cc8338dddd178550b91af86673c74339e16c2cc33053fab7f7a746f03b299bc045dcd43e71fbd0c96a2c4ef4e23ac8cfbfd85b2a61a7f56ff04e8de0755337808bb9a87ce3f7a192d4589de9c475919f7fb0b654c34feadfe09d1bc0ea328159c449b37c7fbc094da0a799fb8397659afc616e4d879fd5bfc23a3781d36502b3889366f8ff78129b414f33f7072ecb35f8c2dc9b0f3fab7f84746f03a65617bfbdfd3074b6bceb5e7a94c6160909d8c7ee85bada1f7f56ff09e8de074b3841d828d0c36c25469ce4ed1fea540cbff3ebda0b77583ffeadfe14d1bc0e957083b051a186d84a8d39c9da3fd4a8197fe7d7b416eeb07ffd5bfc29a3781d2a6d19b9501970334ce739bbac7607782dac120b652ddf0500fab7f85446f03a536645cb4d0942e9519b399f50e26d1856046672c75bbfae02f56ff0a98de074a5589def46e8e8555b03396699bb3858a6b50f418bb7810006eadfe1541bc0e9493d4e373aa8332d6dd338f52b6cced9481660df146f03a40ed5bfc2a93781d29106aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a5210d5d8e444d91bb26e670249d9ff7b515b208344bbc11d83d56ff0aa6de074a421abb1c889b23764dcce0493b3fef6a2b641068977823b07aadfe154dbc0e9484357639113646ec9b99c092767fded456c820d12ef04760f55bfc2a9b781d29086aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a521061eb3cf1af7e352633c871d1f5d97955ccc5a0b8c11f27d66ff0aa6ee074a41f4fe8d290355eed0434570b9be2111aa645cd9d6e823ff3addfe154dec0e9483d2be3fdcd41205cc035743f2fba805d4737dd96da04818b5cbfc2a9be81d2907957c7fb9a8240b9806ae87e5f7500ba8e6fbb2db4090316b97f85537d03a520f23ba24fe1dae3f5b8a29724b6e05f9d178bb8b7651207d173ff0aa6fb074a41e30356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a0d5be1c230a9b8a447d1c596dc7588a70ecf2b1c90451ba3f85537dc3a520f141ab7c384615371488fa38b2db8eb114e1d9e5639208a3747f0aa6fb874a41e28356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a061d074cfe0fe0cfc49e28165bdb6b26b99350dc604535e4085537dc4a520f13f4fb3424c985e9cb0608b2ac371cb8cd1deac778908a860820aa6fb8a4a41e27d2b78dd46071fbc188ddc7d7ed9f5419e699b4b0f11526505154df7159483c4f956f1ba8c0e3f78311bb8fafdb3ea833cd336961e22a4ca0a2a9bee2b290789f239f5cdc4f2e1731a04381df35e332e7452af8839454b38155537dc57520f13e373eb9b89e5c2e63408703be6bc665ce8a55f10728a96702aaa6fb8aea41e27c673e98fc0a1e84f1fdda69fc56f2ae1cbf7007ce2152e845654df715e483c4f8b73e5782e1a3320f788136782d4b3eb929a4355c12a5eacada9bee2bd90789f1573dd49090ac8c4a6dcecf6fd9fc5ff1fe0c9077f54befd5c537dc57c20f13e2973cceabeebf40c0586a015f335ea263a6dd46afba97f9eb9a6fb8af941e27c5173ac2e2aae4a9ac2da0653de6232746f87eb31f45300e1744df715f383c4f8a1736ab50232f7b83d80d2cfb4bac310d9bc18bfe5a60366e99bee2be80789f14172e7c2b13c51f332ce6bc7616be449ae2473dbc84c0871d437dc57d10f13e28171e1de0f4f06691d699db6bace26bb56f52a138d981287a96fb8afa31e27c5016fd614cb746f54f2a001956d92ab9ea8969683183026b353df715f473c4f8a016bbe8243bf412c9d0cc952d31bb5654bd96f622d604f0aa8bee2be8f789f1401638f5d3454e4dbf1e658cd9e2dc8f2925f212057c09fb9527dc57d1ff13e280153311315802c3a9b9977c33451f00d1f6a849cac814116a5fb8afa40e27c500132747ed7d6baf7eeffb5ae609a3e4239814b95560283d14cf715f482c4f8a00164e8fdafad75efddff6b5cc1347c847302972aac0507a299ee2be90589f1400255e4540c314e6273cb9ce17a5f5730e0b170b1550a10e934dc57d20c13e2800337db00c538ff479f63ffeaecb50c89bc0f23bea71423766ab8afa41927c500056fb6018a71fe8f3ec7ffd5d96a1913781e477d4e2846ecd5715f48324f8a000a6b7e5bc1ba5fa1355cc5d3aaca904eeae8d15699508f7dabe2be90659f140013630f10304b21c5228651cf4d8b7ec5d07de5092fa1209f58c57d20cc3e2800255230790d6ca60cfcd969c6930d5bb39ba80c6e5c4242e2b28afa41997c50004930734ac7afae9cb17f99b51e11158f31fc5b38b58487696615f48333f8a0009160e6958f5f5d3962ff336a3c222b1e63f8b6716b090ed2cc2be90667f14001224ddf83cb951cf57dcb2cfc703ab464c29daf3ed3121f499957d20cd0e280024327d16044009c6db3632020d86bc6f17fe7a0d9a324403733afa419a2c50004854fa2c0880138db66c64041b0d78de2ffcf41b34648806e675f4833458a00090a2b57d9bcd8d439855946ab59a579edfa4ac5c289910280cfbe90668c1400121356afb379b1a8730ab28d56b34af3dbf4958b85132205019f7d20cd18280024263971bfa039b368cd31e0d55e8c45dfe3d7596623440ba73ffa419a315000484b72e37f407366d19a63c1aabd188bbfc7aeb2cc4688174e7ff4833462a000909671d9572dbd3025ec94497d722775a78a09a7f48a10304100e90668c64001212b6fc5070850c2ce90f55922dc4549770ebf92451120622602d20cd18d800242556b9c66bd77e81fd9b7786db080f116182b66e61f40c5f006a419a31c000484a9634b2627c632c26b3bb70358f840542b0310283b818d840e483346390009095152a8a4fc62c8078e44342ea9e6ded050b262ac74031cac1d90668c73001212a13163a2a59bf291d4552e854bc41bc89c1107b4e5063afc3c20cd18e70024254162c7454b37e523a8aa5d0a9788379138220f69ca0c75f878419a31ce00484a8251a0e343462cca0921803d2706cd4a6af0612f9118ed94f18334639d009095032f541f3362bc16ca0fc6a24603f8bcd08d04bb1f31dccde40668c73b01212a055ea83e66c5782d941f8d448c07f179a11a09763e63b99bc80cd18e760242540a4962d57a6152dde00be0b11006411b3ce0554879c774db9119a31ced0484a8131ed803a199083e77e4878a1802e05e746cececf08eeb5b23334639db090950253db0074332107cefc90f143005c0bce8d9d9d9e11dd6b646668c73b61212a04a077267333a837c975ee4505801dfa1cc5ff60fbf3baf108dcd18e76d242540930ee4ce667506f92ebdc8a0b003bf4398bfec1f7e775e211b9a31ceda484a81261dc99cccea0df25d7b914160077e87317fd83efceebc423734639db49095024c3b933999d41be4baf72282c00efd0e62ffb07df9dd78846e68c73b69212a04980338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e0ce32f81fa6930b6ec2cb5e051611302ae8d5fc2ebcab3774639db4d095024bc19c65f03f4d2616dd8596bc0a2c226055d1abf85d79566ee8c73b69a12a04978338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e05a4550cc7cf58e268f9185fd0c6f58259518582bbcacdb75639db4d195024bbf409cfa45d04d9f04ebe933f20f3cd845d6730c54795b5aebc73b69a42a04977d0d4c4d3876fdc0c1a4988fdc14d7d886592874a5f2b859d88e76d34954092ef91a989a70edfb818349311fb829afb10cb250e94be570b3b11ceda692a8125df2353134e1dbf7030692623f70535f621964a1d297cae1676239db4d255024bbe46a6269c3b7ee060d24c47ee0a6bec432c943a52f95c2cec473b69a4aa04977c860d72c34463e8ed2164f25b943dbb0603ec9a65c2b874189e76d34964092ef8f4dc0b11562dfa05bf964736a7e1588bb29d5a8b557102714ceda692d8125df1d2793bad79c21c36fbf8f0eccf2893970ffedad67ae21f22a9db4d25c024bbe394f2775af384386df7f1e1d99e51272e1ffdb5acf5c43e4553b69a4b804977c722a61440b46e99076cb02632bc0830dbeabf9119bb8896cab76d34971092ef8e354c288168dd320ed9604c65781061b7d57f223377112d956eda692e2125df1c6359768d9f208c492f8cfb4a6f86a5ef55c26a26be22756aedb4d25c524bbe38b6b2ed1b3e4118925f19f694df0d4bdeab84d44d7c44ead5db69a4b8a4977c716626ffc149e859503b004fa93d807a3d01cdce5ac889efebc6d34971592ef8e2b50f250d6136dacbf2cd01d1fa66d6f9ae5fc2756113fa179da692e2c25df1c552df6fa58fd3ddc362666623743390730783aaaa92280e6f4b4d25c594bbe38a95bedf4b1fa7bb86c4cccc46e86720e60f07555524501cde969a4b8b2977c715243ee4210cb59f390665fb0d5034244bc8d2d06a18a053fd3d34971662ef8e2a313eedcce6d1669d8998589a1fce2b173c69c6940140c23a8a692e2cd5df1c54527ddb99cda2cd3b1330b1343f9c562e78d38d280281847514d25c59abbe38a8a4fbb7339b459a76266162687f38ac5cf1a71a50050308ea29a4b8b3577c715142b893f203f15d17c98f27507dd73b398e125a5fda062c1463497166bef8e2a2757127e407e2ba2f931e4ea0fbae76731c24b4bfb40c5828c692e2cd7df1c544e3a37552dd2b9c8aa308ffc176c2cf65e30d8f3f3818ca919d25c59b0be38a89b008103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a808103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a800d156128ac768ee5b2e64ec6ae72df08a08640001af7d8a5b8b3627d715134ff1a2ac25158ed1dcb65cc9d8d5ce5be11410c800035efb14b7166c4fae2a269fe345584a2b1da3b96cb993b1ab9cb7c22821900006bdf6296e2cd89f5c544d3fc68ab094563b4772d973276357396f84504320000d7bec52dc59b13eb8a89a7f85d686b379dcb7112fb2b1462dd8c1884b4a65bfeaf7f2e5c8b3627d815134fef46e32f1c11f964ddc31c50bdb1765904158f13fa5f0000ba166c4fb12a269fdd19d8b6e4fa554c7352fec973594ada02d76083f1be01a5752cd89f63544d3fb933b16dc9f4aa98e6a5fd92e6b295b405aec107e37c034aea59b13ec6a89a7f726762db93e95531cd4bfb25cd652b680b5d820fc6f80695d4b3627d8d5134fee45ad80fd4a90ce65264bc7392c0b4f81167467b8af00ecfaa66c4fb1ba269fdc741c27856287c4f5c963f0f1d77c8181d7acf5312e01f4355cd89f63844d3fb8d0f974959275b2170f9444632e5ee5835a1e10222c0402aac9b13ec7189a7f7191f2e92b24eb642e1f2888c65cbdcb06b43c20445808055593627d8e3134fee323e5d25649d6c85c3e51118cb97b960d68784088b0100aab26c4fb1c6269fdc6408cca376113b8e3f96e8598f25d0e9a7bb4a6d130202f965d89f638d4d3fb8c7119946ec22771c7f2dd0b31e4ba1d34f7694da260405f2cbb13ec71a9a7f718e23328dd844ee38fe5ba1663c9743a69eed29b44c080be597627d8e3534fee31c46651bb089dc71fcb742cc792e874d3dda5368981017cb2ec4fb1c6a69fdc63818dc900dea1b66b13b4bc0ea536cc27660e92d2d20313a5e89f638d5d3fb8c6f31b9201bd436cd62769781d4a6d984ecc1d25a5a406274bd13ec71aba7f718de63724037a86d9ac4ed2f03a94db309d983a4b4b480c4e97a27d8e3574fee31bc52f6d91c273db841a7242f4a91c43badb38bc566018b76f54fb1c6af9fdc637732000ae524ddf33b1b0e868d19e69f561359e6c9031891eb9f638d603fb8c6ed640015ca49bbe676361d0d1a33cd3eac26b3cd92063123d73ec71ac07f718dda5412844169da4fa43900422c5df8a552f9a9f7210c63ebaf7d8e3581fee31bb33437612faa1722003ec6ac50b24f72a09f964a3f18c97b5ffb1c6b04fdc63765686ec25f542e44007d8d58a1649ee5413f2c947e3192f6bff638d609fb8c6eca5cefdd6b7ebf0ab8c7e0d93abf9bf27d2a9b84f963279180ec71ac14f718dd9345f21383d3e098295c87da6d75960cf5017965efc650c702d8e3582aee31bb2517f67fb47e23b30a85d5dcd2e18a41e4af3527dc8ca33206b1c6b056dc6376492fecff68fc4766150babb9a5c31483c95e6a4fb91946640d638d60adb8c6ec925fd9fed1f88ecc2a1757734b86290792bcd49f72328cc81ac71ac15b718dd9244bc65650c7801b0bfb750e8f02b0372025eb9ae1651b34368e3582b7e31bb247239f054e6562b8cfc3b04515fbbe963af81991bfca380c6e1c6b0570c637648d473e0a9ccac5719f87608a2bf77d2c75f033237f947018dc38d60ae18c6ec91a1a8e6de66bed65f6db873c4fe55880e68ca8a2fc28e1d5b971ac15c418dd9233351cdbccd7dacbedb70e789fcab101cd195145f851c3ab72e3582b8831bb24666a39b799afb597db6e1cf13f9562039a32a28bf0a38756e5c6b05710637648cc6085c7e035cdb26ea9000a7721222f2f118773de471051cc8d60ae21c6ec91974d1de86d41fde7951ec63ce638a28658cf5143b98e22479a1ac15c448dd9232d264e29875a5e51e20a52a1c467a334ac4ae4e3701c4633353582b88a1bb246594c9c530eb4bca3c414a54388cf46695895c9c6e0388c666a6b05711437648cb2254afeca3fdbca3ff610af0994eafaabd7d5e9bd711a70d5d60ae2296ec919634a95fd947fb7947fec215e1329d5f557afabd37ae234e1abac15c452dd9232c6213e53d5d5d1abb7a508e41e4a0a12aa0b9a02f2c46b6758582b88a6bb24658b427ca7ababa3576f4a11c83c94142554173405e588d6ceb0b057114d7648cb16110ba8042da9319660e9b8711e8672a2daaa67c811af416260ae229bec91962b221750085b52632cc1d370e23d0ce545b554cf90235e82c4c15c4537d9232c56442ea010b6a4c65983a6e1c47a19ca8b6aa99f2046bd058982b88a6fb24658ac146f98ce43ac0f6ad413eb80ea91bd1181959a3d8d7baf14057114e0648cb15728df319c87581ed5a827d701d5237a23032b347b1af75e280ae229c0c91962ae51be63390eb03dab504fae03aa46f446065668f635eebc5015c453819232c55c2f8f1f1ef3c2fe0e6d6583ff4aec1086b8ef2de96bdf1ca12b88a70424658ab75f1e3e3de785fc1cdacb07fe95d8210d71de5bd2d7be394257114e0848cb156e4a4ed528a56e7af1825c37f5220e6a158fff13a2af7e1685ae229c1191962adb20b002fe213f789ad17e97e23a7afc25cc4083425efdd10c5c453824232c55b5416005fc427ef135a2fd2fc474f5f84b98810684bdfba218b88a70484658ab6a0ed264a55b60652312c08780e04a1891dd4469067bf8e8327114e0918cb156d31da4c94ab6c0ca4625810f01c0943123ba88d20cf7f1d064e229c1231962ada63b4992956d81948c4b021e03812862477511a419efe3a0c9c453824632c55b4c02a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e0a95f75ec596af418b298ffbe2bbb226599690c37f239652229c1235962ada5c152beebd8b2d5e8316531ff7c577644cb32d2186fe472ca44538246b2c55b4b82a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e03571ce992fcd76d07f5f27b622194a6045ab6834f23b092329c1235a62ada5bf6ae39d325f9aeda0febe4f6c443294c08b56d069e4761246538246b4c55b4b7e61d9931195985df9ca42c6d07ec3517bc2effcd0c8edc88da7048d6a8ab696fb4fc57ed001933eab614bb598f3e4caf23222559e91dd351c4e091ad6156d2df52b9d564cd989000e8f5d9329de27bddf1087073a23bc0e399c1235ad2ada5be9573aac99b312001d1ebb2653bc4f7bbe210e0e7447781c7338246b5a55b4b7d23a87b1e03c8682f20a3c749f6efd1f76ee5e78e58ef1dce77048d6b5ab696fa30121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d14090de36a7b7c44df09f889b6a2c3374447fa6e40ef2aee7f048d6b62b696fa28121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d1401cf08f548e26d0a86c4ec36222919c3f2be9400bf2b08bf148d6b62c696fa27f39e11ea91c4da150d89d86c44523387e57d28017e56117e291ad6c58d2df44fe73c23d52389b42a1b13b0d888a4670fcafa5002fcac22fc5235ad8b1a5be89fc7396d351479907fb2f3c43090aeb09f40b8c5c5c9586038b46b5b1644b7d13f7733fff4f659492ae2b3eae0a0c343be2c35b14b62b0dab178d6b62c996fa27ed7292574ba18ba8142343840c0ec69fc032f88569561cfa301ad6c5942df44fd9713707441979d2e0134d301013eb677b123366cfac3b986135ad8b295be89fb16e80673509562877f36088181e34f6f0d0a9299c5878d4c36b5b1653b7d13f6169132716e90ed3a7b387382832c815dc4d94af35b0f34d87d6b62ca86fa27ec15e38a6daa8802a0733d498485bee53b3476bba6861e83f10ad6c5951df44fd814883a6622762d6c6346f5888ae3acf613b19d0cdc3d222225ad8b2a4be89fb011d19a5712528304435a4d90952d3c6bd2275fd9887a5e845b5b1654a7d13f6013a334ae24a5060886b49b212a5a78d7a44ebfb310f4bd08b6b62ca94fa27ec020078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec018078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec01800500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff0a01942fb34c96b64ca48a7347422e618d297637328d77af8b2a55ea9fb005fe1403285f66992d6c994914e68e845cc31a52ec6e651aef5f1654abd53f600bfc280650becd325ad9329229cd1d08b98634a5d8dcca35debe2ca957aa7ec017f8500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff02c2b9ba80b2bee1c970ecf2c6a810e137ed9bf7028d91ef9b2a55eaafb005fdf585737501657dc392e1d9e58d5021c26fdb37ee051b23df3654abd55f600bfbe3cc0c74d03123b2a290164a9a0626048a7a959bda3661fe7ca957aacec017f7b0593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef50b27ce8db90df2183d91e2966e45d117f72a1ef08d9bc7a12a55eab5b005fdea164f9d1b721be4307b23c52cdc8ba22fee543de11b378f4254abd56b600bfbd42c9f3a36e437c860f6478a59b917445fdca87bc2366f1e84a957aad6c017f7a8593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef503e8f41886741a43ba5e4515edabb397a1ee44b05d9be1e13a55eab5c005fde9f0930dbbda4e5cb2f188ecab5abd49aeeea0af208b37de0284abd56b900bfbd3d1261b77b49cb965e311d956b57a935ddd415e41166fbc050957aad72017f7a7a24c36ef693972cbc623b2ad6af526bbba82bc822cdf780a12af55ae402fef4f44986dded272e5978c47655ad5ea4d777505790459bef014255eab5c805fde9e81f20148724bf35a955b2d352b3a7d6e94cf17c8837dfa685abd56b910bfbd3cf3e40290e497e6b52ab65a6a5674fadd299e2f9106fbf4d0b57aad72217f7a79e0892aac9695f595d23917542c4fd839fe0084e1ddf803e17af55ae452fef4f3b11255592d2beb2ba4722ea8589fb073fc0109c3bbf007c2f5eab5c8a5fde9e76224aab25a57d65748e45d50b13f60e7f802138777e00f85ebd56b914bfbd3cec4495564b4afacae91c8baa1627ec1cff004270eefc01f0bd7aad72297f7a79d8153d05436c58188a05dd7c24463661f8acc73ddaf805857bf55ae453fef4f3af2a7a0a86d8b031140bbaf8488c6cc3f1598e7bb5f00b0af7eab5c8a7fde9e75e54f4150db16062281775f09118d987e2b31cf76be01615efd56b914ffbd3cebc35fa82c839234707fbb2091a281137c0127c4ad4c02dcfe0aad722a0f7a79d776bf5059072468e0ff764123450226f8024f895a9805b9fc155ae4541ef4f3aee63fc63cdbaef9ed7bb8e4c6096a306faf633875000b8e383ab5c8a84de9e75db540b20484c41c06743e2c0b923a435f098a96a9d01736b0856b9150abd3cebb53428993d6ee60386548ba96a3da693dbdd95313702e87a11ad722a167a79d7696851327addcc070ca91752d47b4d27b7bb2a626e05d0f4235ae4542cf4f3aed25cb4bda291fa90d11ef4cda0ecf8776a229720d90ba38c47b5c8a85ae9e75da3457bd3f1fa57a45a0aafc339d04f16cef1709daf1748bc906b9150b6d3cebb45170a0090cb11cb6be225ae6b96fc55988f23975b2e931d21d722a16ea79d76892e140121962396d7c44b5cd72df8ab311e472eb65d263a43ae4542dd4f3aed125c2802432c472daf8896b9ae5bf156623c8e5d6cba4c74875c8a85ba9e75da2444625d332ef0de16ddf39b54ae40d4bf255f16d6749a8d0fb9150b763cebb44714d7131334443ee588ad5ea152dfd178f70089a9e936be20722a16ed79d7688d29ae262668887dcb115abd42a5bfa2f1ee011353d26d7c40e4542ddaf3aed11a535c4c4cd110fb9622b57a854b7f45e3dc0226a7a4daf881c8a85bb5e75da23432caf146788479e412311d028d5cb3c26446a94c49b795049150b76ccebb44676595e28cf108f3c824623a051ab96784c88d5298936f2a0922a16ed99d7688ce573e1dc6b8746a48158a9c022bd0f7043d5d012e26dff8134542ddb43aed119b3a8e943a474b5747f7db5ffc4e00160326fc5e594dc194278a85bb6975da2335012f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4097c090b27c98a3de3e73f8492f2a007d1d8c57cdc266280a85bb69f5da2334812f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4023d2e95f52fb26960b3a204125882877c9ceb3cac267cc0b85bb69f6da23347f47a5d2bea5f64d2c167440824b1050ef939d679584cf98170b76d3edb44668fe1b5dfe2a224f1d0ff9aea8fc8c7ec9d9d37d2b2809a0d42f16eda7dc688cd1fb36bbfc54449e3a1ff35d51f918fd93b3a6fa56501341a85e2ddb4fb8d119a3f66d77f8a8893c743fe6baa3f231fb27674df4aca0268350bc5bb69f71a23347ec670249fde8db6b379a3b6fdc5a5476c9482bb53d4d084579b76d3ee444668fd75a16eca8a8195927013d07b0ab07158d3c99c6779a122ef46eda7dc988cd1fad404031fe26953505cf4037594c6c53152575e8ec342601e9ddb4fb94119a3f590c92bca9238cecc36b4696aa8f36ce24f72e2dd5684da7d4bb69f72923347eb1192579524719d986d68d2d551e6d9c49ee5c5baad09b4fa976d3ee524668fd62324af2a48e33b30dad1a5aaa3cdb3893dcb8b755a1369f52eda7dca48cd1fac46495e5491c67661b5a34b55479b67127b9716eab426d3ea5db4fb94919a3f588553e233f0f314eee812f92a0e9cb0a4a1f25395384dc214cb69f72933347eb0f368e9f2af4c52094cf254d39c9f43c8eea8ccea409b9e69a6d3ee527668fd61d6d1d3e55e98a41299e4a9a7393e8791dd5199d481373cd34da7dca4ecd1fac3a664cd558a977050b095b5cdf1e2f1a365675968d26e93e6ab4fb949e9a3f587358ac035e29508ccddf7ce1b632bc5c67592d89174dd420d669f7293e347eb0e53d6a5f6929039c538bbfeb645bd6e0c95e9d6e2b9ba9e5add3ee527d68fd61c906e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac3910dce2efe50d376bdc88bfd815c17d31ad2fa70a86eaadeb94fb949f7a3f587221b9c5dfca1a6ed7b9117fb02b82fa635a5f4e150dd55bd729f7293ef47eb0e443738bbf9434ddaf7222ff605705f4c6b4be9c2a1baab7ae53ee527de8fd61c886e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac391068f54891e399ee945586000db7db59a7dbe96683eaaf8f95fb949f7b3f58721f5dfce9d09d965fe077d228136614db4a64152904d560c32cf7293ef77eb0e43d480c2c4e118f4278bc6a781ec287de8f746cae06aac32a5aee527deffd61c8791c2ab148f98107a9459b18357b6de519951bb80a5587f8b6dca4fbe0fac390f138556291f3020f528b36306af6dbca332a377014ab0ff16db949f7c1f58721e270aac523e6041ea5166c60d5edb79466546ee029561fe2db7293ef83eb0e43c46d67e2f4a26ac001f99ee9a3d1cd50c755201c4fac4169b7e527df08d61c878766e21e961b3802bbc003fb3f99f8c9895682949c58847770ca4fbe12ac390f0d59d695d90cd2882f4cce1e772a4fbb0d59478535b10a92e2949f7c2658721e193fbf845ef0079316666264e64afd9e155ed166686216c9c6293ef84db0e43c310b91616ab671a8e4998af1c48c59642569e528cdc42f378d527df09c61c878611722c2d56ce351c93315e38918b2c84ad3ca519b885e6f1aa4fbe138c390f0c22e4585aad9c6a392662bc71231659095a794a33710bcde3549f7c2718721e1845c8b0b55b38d4724cc578e2462cb212b4f29466e2179bc6a93ef84e30e43c30845286f583d7d110165754440bbf46a514a94e8d942f51cd627df09c71c87860f1663375d515ca4ba97b0b0796e46fc9d416c2daf85ebddad4fbe138f390f0c1d2cc66ebaa2b949752f6160f2dc8df93a82d85b5f0bd7bb5a9f7c271e721e183a598cdd75457292ea5ec2c1e5b91bf27505b0b6be17af76b53ef84e3ce43c30743f2c13976147a88c8a4babc368960ce4b7a3c9792f60916b7df09c7ac87860e70a6a7fdb98f1d3d0e15d7f7ec78a41c41b89eeef5ec2c6d7fbe138f690f0c1cd14d4ffb731e3a7a1c2bafefd8f1483883713dddebd858daff7c271ed21e1839a29a9ff6e63c74f438575fdfb1e2907106e27bbbd7b0b1b5fef84e3da43c307345353fedcc78e9e870aebfbf63c520e20dc4f777af61636bfdf09c7b487860e6832ba5666657fbfc5e29e1fe46f02443c64e14af2ec2e1180be138f6a0f0c1ccf6574accccaff7f8bc53c3fc8de048878c9c295e5d85c23017c271ed41e18399e56fbb2466c6181cf573ea789b26738ec3fc787c8b0b9ea03f84e3da93c30733b3a09bd39af2586567b43770b5b2c99d32bd16b8e61757808f09c7b537860e6750025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200235ed97f8ca015c5011e62aad3ccac0a410ec308b251ef85e3da9fc40733a3ff46bdb2ff19402b8a023cc555a7995814821d861164a3df0bc7b53f880e6747fe198dbeab08e2d9cbd13fb2a34590d823b07d681fc94962188f6a7f111cce8ffb331b7d5611c5b397a27f65468b21b04760fad03f9292c4311ed4fe22399d1ff66636faac238b672f44feca8d1643608ec1f5a07f252588623da9fc44733a3fec58804e051d79511656c3bd1222e4e918302d9cfb4a4cb4c57b53f889e6747fd73d12f4b7115524e47a4da21c3c27fa2b0c9d95f3949b0d8bf6a7f114cce8ffad0638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590c708435f219990182c2d860dd5c38a18afb0fc8526f7e31da9fc45533a3feb218e1086be43332030585b0c1bab8714315f61f90a4defc63b53f88aa6747fd6431c210d7c86664060b0b61837570e2862bec3f2149bdf8c76a7f1154ce8ffac8638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590531a9c0bf7fc12cff8f3ae05cc21b2135bf3588226f9871ea9fc45543a3feb1f324790c4c65aa857bead84038ea18c2164290d014df4b23e53f88aa9747fd63d648f21898cb550af7d5b08071d431842c8521a029be9647ca7f11552e8ffac7a55309bbfefcd2416c77c380630e458803ce6900237d46cfa4fe22aa6d1ff58f33673902cb5fccae55bbe98045826d8fb260f7c016faa7df59fc4554ea3feb1e56ce720596bf995cab77d3008b04db1f64c1ef802df54fbeb3f88aa9d47fd63ca65e0995fae55ae4d3bc0880956f98be744804c02beab9bd77f11553b8ffac79357d38b6c330ddf524447380aa4513fc93542f4027d58dbaffe22aa781ff58f253bb96f853c7e415c5554980d3f00a78d16c84401fab35b60fc4554f13feb1e49038537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac79220e14dedd3d7c15c1ddbd6049d17ddc53674b9003d5a16b0be22aa78dff58f2441c29bdba7af82b83bb7ac093a2fbb8a6ce972007ab42d617c4554f1bfeb1e48838537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac792206d604680ae23ded5a89c2c950e3bed3120fb5c3a5a1854bf22aa78e0f58f243f66d2e5ae32aa40631dfe812212d6025cee391471b4324d7f4554f1c2eb1e487d59b824093bb7037e08c32a3c1c0a2cb488b484e068663eff8aa9e386d63c90f93f82a0bf4dd089b3de4c7c702e728163bdab65bdd0ce22001553c70eac7921f10b179a2b7203961f895f20d853432ac227992778a19de8012aa78e1e58f243e1162f3456e4072c3f12be41b0a68655844f324ef1433bd002554f1c3cb1e487c22c5e68adc80e587e257c83614d0cab089e649de28677a004aa9e387963c90f8458bcd15b901cb0fc4af906c29a1956113cc93bc50cef4009553c70f2c7921f083d8bfb63f69be4b062b8357d2a90d41d25d4d38719e02413aa78e1e68f243e0f072a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0e549ee987349831246d25e496ffa069efd806166783d850a9e3879c3c90f83a1ca93dd30e69306248da4bc92dff40d3dfb00c2ccf07b0a153c70f387921f07439527ba61cd260c491b497925bfe81a7bf6018599e0f6142a78e1e70f243e0e872a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0715c474549ac05ca1398864166582e99a9c2bd63783f290b9e3879c4c90f839f6ecae73769ba8e4bf3f7347ac30e852dffc7d6c3f07ff6183c70f38a921f073d69a8271ba9d79f4fb4b490ed7c7b3256abd20984e101903178e1e716243e0e795f62a6e42a11c157362f49d2ef548ca803e66f06c204c463f1c3ce2d487c1cf14ad7a6752a8605663924bb9dd507414ab40f3a0a840b2cc8e3879c5b90f839e121c1a5972b6e8d843f0f9f33a06caa901460d0120817fd92c70f38b821f073c143834b2e56dd1b087e1f3e6740d9552028c1a024102ffb258e1e717043e0e7821318ef09841cb8c8c904a4c67810d23afdc59c4520619a4c1c3ce2e187c1cf032631de13083971919209498cf021a475fb8b388a40c334983879c5c30f839e064c63bc261072e32324129319e04348ebf71671148186693070f38b861f073c0c24d9d0f8f74848fe14eb4e2bb6e4b9d29a6f3e26030e7661e1e7170d3e0e781749b3a1f1ee9091fc29d69c576dc973a534de7c4c061cecc3c3ce2e1a7c1cf02e1f799c90b383a6b0207360a6d1f10f4515ff54950c3b7d88879c5c35f839e05b3ef3392167074d6040e6c14da3e21e8a2bfea92a1876fb110f38b86bf073c0b609f8caefa4711d784e93aa933e22650f043fae5130ef9a231e7170d8e0e7816b13f195df48e23af09d2755267c44ca1e087f5ca261df34463ce2e1b1c1cf02d627e32bbe91c475e13a4eaa4cf889943c10feb944c3be688c79c5c363839e05ac4fc6577d2388ebc2749d5499f113287821fd7289877cd118f38b86c7073c0b582b9f07a71d745a3cb600d12bd88478eaf03d41100efb4632e7170d8f0e7816af573e0f4e3ae8b4796c01a257b108f1d5e07a82201df68c65ce2e1b1e1cf02d5e3a8e77494c33ebaaa4c96ca758700ba66d37603d3beebccc9c5c363d39e05abb012f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4097a39fb7652d068b2c80a3539f1fa3c3588e3bbbef8ecd1c5c363db9e05aba812f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4023b5f8643b8f8942f946cb4b957dcbbe04d097b8ef90711d5c363dbae05aba7f476bf0c8771f1285f28d96972afb977c09a12f71df20e23ab86c7b75c0b574fe1aea3a3dc4a0a7c3b1e155264c5556f2bf84bae0be43687670d8f6ec816ae9fb35d4747b89414f8763c2aa4c98aaade57f0975c17c86d0ece1b1edd902d5d3f66ba8e8f712829f0ec785549931555bcafe12eb82f90da1d9c363dbb205aba7ec63642a9afb67c0d55bd0d12a5908df90a8683302f21ce7b486c7b7650b574fd752daade2cd3204628467ca4ca86fe71bfd12c202e43b736a0d8f6ecb16ae9fad31c7b47270c68b7cd595bc91473df632a667e002c8788ad51b1edd972d5d3f59638f68e4e18d16f9ab2b79228e7bec654ccfc00590f115aa363dbb2e5aba7eb253312a76997cb0ab231d1a3d135600c545e1dc0821e3cf556c7b765db574fd633274ad9a095be40e13005c721d0a29853806140d43c942abd8f6ecbc6ae9fac564e95b3412b7c81c2600b8e43a14530a700c281a87928557b1edd978d5d3f58a55e50f14fbd212f018c799c06a86ce0f8c5aac320f26aeb063dbb2f2aba7eb1337dc76d6ce06a897fe555b78cb6bc419c4f7b4611e4f0161c7b765e6574fd6256fb8edad9c0d512ffcaab6f196d7883389ef68c23c9e02c38f6ecbccae9fac4a6b8434080e7d2517c61b95db240d3861c0212d81793da9881edd979a5d3f5893631ac0bcf35ccce758fd53ae3e7898be2c84b6fff27cf7113dbb2f35ba7eb1255247da26bd1c1c867ec0cf54734f5977054bc9fce4fb92237b765e6c74fd624930a20cfa509abbc4ca47c6a0dcfcdae8b6d9eff6c9f8c847f6ecbcd9e9fac491614419f4a1357789948f8d41b9f9b5d16db3dfed93f1908fedd979b3d3f589224e9a8c9618cd71caf5e5427b6a51939d87aa1bd827e4c520dbb2f368a7eb1243294771d907fd664db890aceecb014f35bb9693ad4fcb2e42b765e6d24fd62485528ee3b20ffacc9b712159dd96029e6b772d275a9f965c856ecbcda49fac490a31302010f6581beeaf08dbb3226364d19a9caab23f2e5d0bdd979b4a3f58921362604021ecb037dd5e11b76644c6c9a3353955647e5cba17bb2f36947eb1242650d2d8f0afc2f27288e996c47febbb4116b506c5fcbb1830765e6d29fd62484b2db80a8e35e8679cde995580f6359e7cd9ac6988f977d461ecbcda54fac490955b70151c6bd0cf39bd32ab01ec6b3cf9b358d311f2efa8c3d979b4a9f589212a42f282e5ae04212b472b7dfbcf34a1ee12f40220e5e0f588b2f36954eb12425311f75e78326ac50e5b1d23ef94c76bd6d22a603ecbc38f1265e6d2aad62484a523eebcf064d58a1cb63a47df298ed7ada454c07d97871e24cbcda555ac49094a47dd79e0c9ab14396c748fbe531daf5b48a980fb2f0e3c49979b4aab589212941bcd4c6e69b8ab2aa5af47749c9986b13d955df35e1e1c942f369557b1242527379a98dcd37156554b5e8ee939330d627b2abbe6bc3c39285e6d2aaf62484a4e6f3531b9a6e2acaa96bd1dd272661ac4f65577cd78787250bcda555ec490949c6a7cbc202427dc0cfa40639cdb2a5d8498ed4b97f0f288a279b4aabe89212937610bd0ed1eb23ad1c146ef31acb2e303de1cf32ce1e6b545f369557e1242526d4e29fa8713c6f85b4f54065b4fc3ee02687c4256c3cf0e8ce6d2aafd2484a4d928664dbafdf0736e6b6e34ae95e603ff7d3ae0aa879fc11acda555fb490949b150cc9b75fbe0e6dcd6dc695d2bcc07fefa75c1550f3f82359b4aabf6921293622dab8f98ce2450717a7efab24df637f8a12ddea71e80a86c369557ee242526c35b571f319c48a0e2f4fdf5649bec6ff1425bbd4e3d0150d86d2aafdc484a4d8642c097100ef3c47db6c212c12e3707dd30f9d6997a0445b1da555fb990949b0b119386ccf44a0bb33a4a4d7a52cc37b50e36092ff40a2f64b4aabf742129361523270d99e894176674949af4a5986f6a1c6c125fe8145ec969557ee842526c2a464e1b33d1282ecce92935e94b30ded438d824bfd028bd92d2aafdd084a4d85418ae8f1478b2e0519f1893ca8cbfe5a31df2a57ca0531f26a555fba20949b0a7315d1e28f165c0a33e312795197fcb463be54af940a63e4d4aabf7441293614e62ba3c51e2cb81467c624f2a32ff968c77ca95f2814c7c9a9557ee882526c29c5186d1509bf98544c58ac64c5c5d55139bd787e2029a9d362aafdd114a4d85372f1ffb4e0e558d4157dbb490af18d221e3f16bc10536de6d555fba23949b0a6d5e3ff69c1cab1a82afb769215e31a443c7e2d7820a6dbcdaaabf7447293614da489245e50fb8b7bd2c34fa3ab2c170823c080b0114dd1db6557ee88f526c29b31d36e476f5d3f23225301c6d5be108ff245271ff29bbdf6daafdd11fa4d853653a6dc8edeba7e4644a6038dab7c211fe48a4e3fe5377bedb55fba23f49b0a6ca00edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c076f54456d925c030c34cd6b2f125fb9ec611fcd37890dbd5fba23fc9b0a6c980edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c003079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe0c1e740ebe210ba2404bfaab9e108e65c9516341e249ff5bee88ff2ac29b25fc183ce81d7c4217448097f5573c211ccb92a2c683c493feb7dd11fe5585364bf83079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe04df99998b8733cdbd185d2b1d7670e574158901b24a199bfe88ff2ad29b25fbf28058bde4748fc6f6fd1cd5ba52c44a92ef37c334944d780d11fe55b5364bf7d500b17bc8e91f8dedfa39ab74a5889525de6f8669289af01a23fcab6a6c97efa2c288825f38674758c0d5d668b0f3a9f68104cca25150204447f956e4d92fdf35851104be70ce8eb181abacd161e753ed02099944a2a040888ff2adc9b25fbe63cb47944a47c548dfcfb9d92229b12784c838f259455ac1211fe55ba364bf7cb057b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef950af6966c3eb657a78d7ac638772899d68a92f4905159f84a47f956ead92fdf2a15ed2cd87d6caf4f1af58c70ee5133ad1525e920a2b3f0948ff2add5b25fbe542bda59b0fad95e9e35eb18e1dca2675a2a4bd2414567e1291fe55bab64bf7ca857b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef9503b7bbf70c1c7fd30a4728b7f68e7c5635571a50215a128a57f956eae92fdf29f0309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a0c275e3967c9f46456acfbdb20b6cb055c969804ad0fd52ffcab757897ef94f4184ebc72cf93e8c8ad59f7b6416d960ab92d30095a1faa5ff956eaf12fdf29e8309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a04e883c435301c8fd3795e5aa01cad85075abdc47d0fef700cab7578a7ef94f3f2922d1337c6614b23bf1f34bf9f3d89b979a148ca1ff9202956eaf15fdf29e7d5245a266f8cc296477e3e697f3e7b1372f34291943ff24052add5e2bfbe53cfa309d9d7ac7fad580bc8df527de2d8a690aaaae2f87ffec0b55babc58f7ca79f3613b3af58ff5ab01791bea4fbc5b14d215555c5f0fffd816ab7578b1ef94f3e64e88ce97f64dd8babefdfc976f14519ed6ed14bb2001542e56eaf164df29e7cb2923f5dcc2fe342d4ac22126d486cb385a1c857340044c5dadd5e2cabe53cf955247ebb985fc685a9584424da90d9670b4390ae6800898bb5babc5957ca79f2a30a2301fe25b536cf7ceac93487954dc14b471ca0012d577b7578b2bf94f3e536144603fc4b6a6d9ef9d592690f2a9b82968e3940025aaef6eaf1657f29e7ca64e9b192c5fcfd06bac00da4518437b6aff142325004cf9dfdd5e2cb0e53cf94b29488b059602238f24c7dc8226e51ed0aa6aa247009b97c0babc5962ca79f2955291160b2c04471e498fb9044dca3da154d5448e01372f817578b2c594f3e52a313484c32e6b10f45fe59a0091f2a33d55ece51902700303eaf1658c29e7ca53626909865cd621e8bfcb340123e5467aabd9ca3204e00607d5e2cb1853cf94a650e46bb9900ec6894c5c8ffa3e28b4f003f5f06109c1b010abc59631a79f294b2ddb301ff6800fca657f47ec72af91dab42e3cbf13850422578b2c644f3e52955bb6603fed001f94cafe8fd8e55f23b5685c797e270a0844af1658c89e7ca52a437f192cb062c1e162c347a9c11c6f657cfb4ef94e15b48a5e2cb1923cf94a5313108b063728067a924cb74b789706c5a638f9ef9c2d0d15bc59632579f294a52621160c6e500cf524996e96f12e0d8b4c71f3df385a1a2b78b2c64af3e5294a4c422c18dca019ea4932dd2de25c1b1698e3e7be70b43456f1658c95e7ca52942496b0de8fa2b68c5f2be253bb165e27de0a2b79e16a0caee2cb192ccf94a527492d61bd1f456d18be57c4a7762cbc4fbc1456f3c2d4195dc59632599f294a4e1e6d1c2714ed5ce94975b146e2b7a09a246b09e485a9d6bc8b2c64b43e52949b3cda384e29dab9d292eb628dc56f413448d613c90b53ad791658c9687ca5293605c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b0b8d9292542fecb9e539da27027954c67bdd071e2d51fde6596325a3f294a4d6171b2524a85fd973ca73b44e04f2a98cf7ba0e3c5aa3fbccb2c64b47e52949ac2e364a4950bfb2e794e7689c09e55319ef741c78b547f799658c968fca5293585c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b044eb81d219614e562063ca681df374626a12cddfd521826696325a40294a4d5f15e95c5109251f640d8dbcc8324510bf8067f7bcaa44a8ce2c64b48152949abd2bd2b8a2124a3ec81b1b7990648a217f00cfef795489519c58c96902a529357a57a5714424947d903636f320c91442fe019fdef2a912a338b192d2054a526af43b5d3b351f8b7dd839340e398886adf6af8219e25226ea726325a40b94a4d5e702cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a0b333c5c55e5f9a0fcb911ac1dae0fa02d1a3f06913de397192d2060a526af34166678b8abcbf341f97223583b5c1f405a347e0d227bc72e325a40c14a4d5e682cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a03f461e7234c21cc7985742b9d13f21fd7de64c6613dfdd7292d2060b526af33f0a9e95913fe6bc46fd74ad6b98dc6bf5a80ef4c927c15ee625a40c17a4d5e67d153d2b227fcd788dfae95ad731b8d7eb501de9924f82bdcc4b48182f49abccfa2a7a5644ff9af11bf5d2b5ae6371afd6a03bd3249f057b989690305e935799f454f4ac89ff35e237eba56b5cc6e35fad4077a6493e0af7312d2060bd26af33e835fbb1c0d4ce4727a410feb18424e7552d31a88f7c1792635a40c17b4d5e67cf6bf76381a99c8e4f4821fd630849ceaa5a63511ef82f24c6b48182f69abccf9e64011fb0299b9f565d0a22be06f1c54f6108fe3af05fed8e690305ee35799f3b5414980d2999c16486da6d740441b2996e545872e0c17f1dd2060bdd6af33e75343b88c729960580da7b02dffee18d2d88eb0ce2c184a23ca40c17bbd5e67ce96877118e532c0b01b4f605bffdc31a5b11d619c58309447948182f77abccf9d25d007bc97cba98bb36b23377f1e45cb0cfee8f8806142cf390305ef05799f3a34613503fcfd7b42e3a2a8ee7da26e15c4c1f7b0d0c29fde82060bde1af33e7451838f92c7611eb14411b45c7aaabeab34481521718559fd140c17bc45e67ce893071f258ec23d62882368b8f5557d5668902a42e30ab3fa28182f788bccf9d1260e3e4b1d847ac51046d171eaaafaacd1205485c61567f450305ef11799f3a244dda221086f1db59d5a056354bbd7d94d04cecb5c2aea28b060bde23f33e744727c69ccde446396b7806d4628dd923244cdc3568855ee9170c17bc48e67ce88d4f8d399bc88c72d6f00da8c51bb2464899b86ad10abdd22e182f7891ccf9d11a2b2ccbe4677b6865ace179822dc2b48bdfb3319f157d485d305ef12499f3a233565997c8cef6d0cb59c2f3045b856917bf66633e2afa90ba60bde24933e7446638c5883e7450244e804c0e00ad68fa2a2b0f227955f6c575c17bc49367ce88cb718b107ce8a0489d00981c015ad1f454561e44f2abed8aeb82f78926cf9d11966f2879a6a7a313f1cdf65ffaac0210a3587ee5e257dcb9d805ef124e9f3a232b6a634bfa25a8aa9b68b2e7ed4e6249415d4027c1afbb17b10bde249e3e74465560d8f0a121b3d7ee9e2bf7d29322ba7d66c2ab805f77d36317bc493d7ce88ca94dc439ef19ca3295091e179d1ca39cf579c7b2fdbef14ac72f78927bf9d11951279acc8b09f6e7e1df0257322fa561e59fd1c1f87de4398f5ef124f8f3a232a14f35991613edcfc3be04ae645f4ac3cb3fa383f0fbc8731ebde249f1e74465422a7d8ad8fe3e223f48cf84c0b4f3af912b8963def7928a3e7bc493e4ce88ca8354fb15b1fc7c447e919f098169e75f225712c7bdef25147cf78927c99d11950636088410cf5b0bb4f0043afaca2ce63f5a67eb78de4bccfaef124f943a232a0b6c1108219eb61769e00875f59459cc7eb4cfd6f1bc9799f5de249f2874465416643468f013ceb18b8cd713e31f11c0f815e209e07930d7ecbc493e51e88ca82b547b2a8cfdffe5cee6744fbe3481a9ead8066fbdf26353da78927ca4d11950553508adc6d2624e5599aec7745f617bd05c4f3b78e4c84bb5f124f94aa232a0a96a115b8da4c49cab335d8ee8bec2f7a0b89e76f1c990976be249f2954465415260350fc81febbc0e338145c973e4173c1d7f49e09322d2d8c493e52b88ca82a34c7c783d1639fad433c8b38ade265672e740efbe264749b28927ca5811950545250b492702d6786034578f0db2aad4e07ac43b794c903766124f94b1232a0a894a16924e05acf0c068af1e1b6555a9c0f58876f299206ecc249f296246541512203f7d48e1bc64389e24642ec1097b7c975349e232428199493e52c58ca82a23407efa91c378c8713c48c85d8212f6f92ea693c464850332927ca58b195054460d104dd05d54139a4557b8b2fa8415ed098f8385c90baa6624f94b1732a0a88b1a209ba0baa827348aaf7165f5082bda131f070b921754cc49f2962e654151163441374175504e69155ee2cbea1057b4263e0e17242ea99893e52c5cca82a22c68826e82eaa09cd22abdc597d420af684c7c1c2e485d533127ca58b9950544585d1735b2aba3bc5c2241b3279e9f86cb453a945990bc4a634f94b1742a0a88af4640c4122da9fb7011498e47339d359136b784b0217a38c79f2962e95415115d1893e0d131b67997ef5944865d98931d19b1655d42f615903e52c5d3a82a22b93127c1a2636cf32fdeb2890cbb31263a3362caba85ec2b207ca58ba750544572624f8344c6d9e65fbd65121976624c7466c595750bd85640f94b174ea0a88ae450b15f3664164f7747904c2ae322c0e379cd86e717b25082f2962e9e415115c72d7517199e8f21a65be6c04dbca3a9c19fdd69cb2f664506e52c5d3d82a22b8d5aea2e333d1e434cb7cd809b794753833fbad3965ecc8a0dca58ba7b0544571a41e6b513509f09513c61292ee8eccf012bb80329bd9ab81c94b174f70a88ae330fdfc2d377a0955a45887a55c837c5fd03b262507b37143a2962e9ef15115c651fbf85a6ef412ab48b10f4ab906f8bfa0764c4a0f66e287452c5d3de2a22b8ca3f7f0b4dde8255691621e95720df17f40ec98941ecdc50e8a58ba7bc544571940b106f4893672d89f909faa6381c57e2c9d56e80d9ba45d24b174f79a88ae3271620de9126ce5b13f213f54c7038afc593aadd01b3748ba4962e9ef35115c64e2c41bd224d9cb627e427ea98e0715f8b2755ba0366e917492c5d3de6a22b8c9c58837a449b396c4fc84fd531c0e2bf164eab7406cdd22e9258ba7bcd445719383d194d360cd55b575d65d25b7823a6274999440a9ba60125b174f79b88ae326f0644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd0c89e631e01a72cd0f23995dcd4ae8927ee9c8246e9b4c98c5d3de7022b8c9ba1913cc63c034e59a1e4732bb9a95d124fdd39048dd3699318ba7bce045719374322798c78069cb343c8e6577352ba249fba72091ba6d3263174f79c08ae326e8644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd054b0bbcad809af88beffbdd4cb0cb1229adede43e9b66d8d5d3de7032b8c9b9f3573d0428675e1c94ac5a3a18c778a3fe2001884d36e7f1bba7bce075719373d6ae7a0850cebc392958b474318ef147fc4003109a6dcfe3774f79c0eae326e7a61e199b6f03a09dcf7dcb67e283c50fa3442be104dbba06fe9ef381e5c64dcf34fd58c1ab6d69671bc7f94f446d6c9ef14c7d81d9b78e4e0d3de703db8c9b9e52bbd70e2440faf9b45c551e0840bbbd8d5d20c3836f36dc2a7bce07c719373c9577ae1c4881f5f368b8aa3c1081777b1aba418706de6db854f79c0f8e326e7923b081c35e6a14124e3db6f7a068d175e038a8cdddbcf5b0b9ef381f2c64dcf2302229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a088a44628e94140651f41bb00de15adacd5dd6e2de816860f79c0f9a326e7914111488c51d28280ca3e837601bc2b5b59abbadc5bd02d0c1ef381f3464dcf2282229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a014b69ed5bfa3c31cec07e2f8d473d5a7821fca2ae8182a1079c0f9a426e7913f296d3dab7f478639d80fc5f1a8e7ab4f043f9455d0305420f381f3484dcf227e52da7b56fe8f0c73b01f8be351cf569e087f28aba060a841e703e6909b9e44fc31c74f5ad3809b9f2d053fbe99fcd536bd40ad5440c2f484ce07cd22373c89f7638e9eb5a701373e5a0a7f7d33f9aa6d7a815aa88185e9099c0f9a446e7913ee532f96182464f13480db26f25e517cd5a145114e030d7614381f3489dcf227db327184dd1f2c6520ce7c75dcb30121a5eecc7e99061c9029703e6914b9e44fb564e309ba3e58ca419cf8ebb96602434bdd98fd320c392052e07cd22973c89f6a55d86c215314173b06b7ff6ac262ae92677456611873e4a6c0f9a453e7913ed337c330ef7c8ab12dda3626cd7b23851f7b2b08bf30e96d4e81f348a8cf227da56f8661def915625bb46c4d9af6470a3ef656117e61d2da9d03e691519e44fb4a6b1f1c6ac88d476f359ec32de2ec3c7898ee7ef9c3a7593b07cd22a43c89f69362509182677d11963803ae53bc36a0ebde1f59f0875056770f9a45497913ed2550b37bb1a55ca5e43ccd849f6ecb69d268810fde0ea250ef1f348a93f227da492d795010211bce8046613136d3f4fb9f7d447bb91d4645df3e691528e44fb4915af2a02042379d008cc2626da7e9f73efa88f7723a8c8bbe7cd22a51c89f692241f798ed5ad1bcb8e64aecd346321678a1544ae1751abb7df9a454a4913ed24310018a878c05fc29995c019e82c254ebeeeaf1bfea371afcf348a94a227da4852003150f180bf85332b8033d0584a9d7ddd5e37fd46e35f9e691529444fb490a40062a1e3017f0a66570067a0b0953afbbabc6ffa8dc6bf3cd22a52889f692140c1eace93692640497a634ec0c70cf5a2399e9fc51ba7be89a454a5213ed2427183d59d26d24c8092f4c69d818e19eb44733d3f8a374f7d1348a94a427da484e307ab3a4da4990125e98d3b031c33d688e67a7f146e9efa2691529484fb4909c60f56749b4932024bd31a76063867ad11ccf4fe28dd3df44d22a52909f6921384dfd27403f88c301472976b8bd6b1d9ce5e0fbc21ba9628aa454a5223ed2426f280ca72d557408ba5b19156971346334780453813754691648a94a457da484dd50194e5aaae81174b6322ad2e268c668f008a7026ea8d22c9152948afb4909ba2c44f5622c32a5a1392a7d9dbb2fb4cc8c53aa01dd53485a22a52916f69213735889eac458654b427254fb3b765f699918a75403baa690b4454a522ded2426e63d262e35872d193cb1701e6ee31cfb2cdd910404754ec5698a94a45cda484dcb065eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b950cbd6a2fc9796a625f4cc9ab79303ca8cec8c80bd53e5da82a5291756921372a197ad45f92f2d4c4be999356f26079519d919017aa7cbb5054a522ead2426e5432f5a8bf25e5a9897d3326ade4c0f2a33b23202f54f976a0a94a45d5a484dca865eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b95057e8fba96df928ddc192c2af8961f28798cedcba53e77e83a52917579213729f3be44fffb254d4734febad5709220d09dde01571a7d0a1084a522eb02426e53d03daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca7907b5f1587618573cd93b054c1144841cd0050dc09f45cc232948bac2909b94f20f6be2b0ec30ae79b2760a9822890839a00a1b813e8b984652917585213729e41ed7c561d8615cf364ec153045121073401437027d17308ca522eb0a426e53c83daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca79007716e3437e7f68560767cb90aa669c7ac933806f45e6633948bac2a09b94f1f0ee2dc686fcfed0ac0ecf972154cd38f5926700de8bccc672917585413729e3e1dc5b8d0df9fda1581d9f2e42a99a71eb24ce01bd17998ce522eb0a826e53c7c3b8b71a1bf3fb42b03b3e5c855334e3d6499c037a2f3319ca45d61504dca78f803293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0ca4efc15387ac3750b7ce22831311d5d5d771b117a01ce922eb0a866e53c7bc1949df82a70f586ea16f9c45062623ababaee3622f4039d245d6150cdca78f783293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0566154c20edd462cd8430a20278f455809b9770e7a0372932eb0a867e53c7bbf38d50230f41d0f117d4c3c38457cb2aabfb54a19f40889275d6150d0ca78f77d71aa0461e83a1e22fa9878708af965557f6a9433e811124ebac2a1a194f1eefa6f666170a6d6befdc1f718d90c50f2a5ab178464d023c89e7585434429e3ddf36adf1b8e241000b350b459aa0f000d46027164c6a049353deb0a868953c7bbe561d08fc91e82841e6e2edb4c145e4286b125258a40940e7cd6150d13a78f77c94fb3783f13678af4a923de901f1aad080e8ca7118129c0faac2a1a284f1eef912b79492afd3198a11f0de5183493820ac95baa20025525f6585434519e3ddf2156f29255fa6331423e1bca306927041592b7544004aa4becb0a868a33c7bbe4239f77d58cb28e53c48fdbc58c8ac3025d1b1047d09563bda6150d14778f77c830001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe41400035c18f06fcfab2189d1aebd33a814fccdebde5540ddc8551d147f8f87c827fff6b831e0df9f564313a35d7a675029f99bd7bcaa81bb90aa3a28ff1f0f904fffe631894c8ca4d4b1a4131d744e063672e2739f14d3773b948451fe3e2f209fffb5243823e6afd18ec4f29d681b724f656fab63e976ee916918a3fc7c6e413fff530995d29ac5cb4906b19d4fb64a814a8a1aed92bddd3d124147f8f8ec827ffe96132ba5358b96920d633a9f6c9502951435db257bba7a24828ff1f1d904fffd24e77cd5387d554f9792d7be588fe7a9d32fdc0ac7750e89151fe3e3c209fffa32901f353e60d2caabf211fc3085b1d35123ddd55eea37523a3fc7c79413fff455203e6a7cc1a59557e423f8610b63a6a247bbaabdd46ea4747f8f8f2827ffe8a301a25fc6e973562c94aa70417ca9ccef539d154ba8f788f8ff1f1e604fffd1360344bf8dd2e6ac592954e082f95399dea73a2a9751ef11f1fe3e3cc09fffa264c7af09e90bf5842f1f0c40855889b368129a14fea3f863f3fc7c79913fff44b250839e9f7e1333db0a7b008a16f5e67ae959e9cd480b07f7f8f8f3327ffe8954a1073d3efc2667b614f601142debccf5d2b3d39a90160feff1f1e664fffd12a20334054b5e74fae8f64e81a7c1ba1996698d670520465fefe3e3ccd9fffa253406680a96bce9f5d1ec9d034f8374332cd31ace0a408cbfdfc7c799b3fff44a60cdf59ffadffc1720a59c861e6ccae6046a5b5be48133bfcf8f8f3377ffe894b19beb3ff5bff82e414b390c3cd995cc08d4b6b7c902677f9f1f1e66efffd1296337d67feb7ff05c8296721879b32b9811a96d6f9204ceff3e3e3ccddfffa252c66facffd6ffe0b9052ce430f36657302352dadf24099dfe7c7c799bbfff44a585a07f8a7b65e99d87262ae1663290dff169db7e1813563d08f8f3378ffe894af402249fc431fb668b18b8424bcb043f8d97dcbc0026c6ba21f1e66f2ffd1295d0c56eca55ca1ef892fdd30416fbeafec5f3df37d04da7b453e3ccde6ffa252b918add94ab943df125fba6082df7d5fd8be7be6fa09b4f68a7c799bcdff44a572315bb2957287be24bf74c105befabfb17cf7cdf41369ed14f8f3379bfe894ae462b7652ae50f7c497ee9820b7df57f62f9ef9be826d3da29f1e66f37fd1295c851812302a0817b4aca992c0ef24926c0a02193cd4da95854e3ccde70fa252b8f2f149eb21765794d61f88015daf0757bec8583979b5454aac799bce2f44a571d5e293d642ecaf29ac3f1002bb5e0eaf7d90b072f36a8a9558f3379c5e894ae3a4864d37533f867ed54a8284f621ffdea5e586a5b6d52f6ac1e66f38cd1295c731cdbff973e53529276167896ba9e23cf68f330b3daa791593ccde71aa252b8e539b7ff2e7ca6a524ec2cf12d753c479ed1e66167b54f22b2799bce3544a571ca736ffe5cf94d4a49d859e25aea788f3da3ccc2cf6a9e4564f3379c6a894ae39472f25566c8fd174b7d79ecadcb4f4675f3dbe19bd53e2ecae66f38d61295c72771f7037a685cb14ec7ba01538cfcb4e693fa1f34aa7e0196ccde71ad252b8e4d70005fa1a71be5555c3a2a9f105791c7d4369a6654fda72e99bce35b4a571c996c1317f0249a4d62853a7d36170d4b8a54af90c9a9fcf25e3379c6b794ae39316438888d1f971d7cd73b22642478bf0f55a17d9053fb88bd66f38d70295c7261548369c71590bdb17b3c6cc03f4fa6195785571da7f8b57bcde71ae152b8e4c135192c3b0183fe1ac33f017874fd742d5b4d0a384ff30ef89bce35c3a571c9816a3258760307fc35867e02f0e9fae85ab69a14709fe61df1379c6b874ae3930260770998dc727b22d9c22dd9ca53f8b0197684de3fcddfe36f38d70f95c726034d006bde8f4778fd804a83ab8b06195adf2f65b97f9d63c7de71ae202b8e4c0526133069f4f174b2cd5b2f4f0c6a5ab06aa1276fff3c6b90bce35c41571c98094c2660d3e9e2e9659ab65e9e18d4b560d5424edffe78d72179c6b882ae393012245f1a54aa2855830232e534280792bc56c6f9bcfcf35243f38d71065c72602348be34a95450ab060465ca68500f2578ad8df379f9e6a487e71ae20cb8e4c0461d8ec1ff7f03d8c3d591bcc8967c72ec075e42f0f3ceed10ce35c41a71c9808b3b1d83fefe07b187ab2379912cf8e5d80ebc85e1e79dda219c6b8834e3930116024d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c0456093582ab49c7971c8c346c69413fceab26ed9f033cf56110e35c41ab1c9808ac126b0556938f2e391868d8d2827f9d564ddb3e0679eac221c6b883563930115824d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c045601f6a836172dbf480900cee8c0a5b12ad1b1c4c30cf57b50f35c41ab2c9808abf3ed506c2e5b7e9012019dd1814b6255a363898619eaf6a1e6b8835659301157e09bc6632a1d254ba0cf9e2281fca72af18b38cc03d60783dd7106acc26022afb1378cc6543a4a97419f3c4503f94e55e316719807ac0f07bae20d5984c0455f626f198ca874952e833e788a07f29cabc62ce3300f581e0f75c41ab309808abec4de331950e92a5d067cf1140fe539578c59c6601eb03c1eeb8835661301157d827d8bbd6f387ce589c644a79f30552ec377b2800d60927de7106acc36022afaf4fb177ade70f9cb138c894f3e60aa5d86ef65001ac124fbce20d5986c0455f5e2b754808a481bc1a3e5751dfc27373ab8a2efc005826437ac41ab30e808abebb56ea9011490378347caea3bf84e6e757145df800b04c86f58835661d01157d7639e778cf68697320c6236f77002bf6a8d4fe4bfe609ab1ec106acc3b022afaeb73cef19ed0d2e6418c46deee0057ed51a9fc97fcc13563d820d598760455f5d673b03bea78084f3ae553e5d3f70e029e003b8bf6826c6bb141ab30ed08abebab7372d081c673212d976df39fe47a2d36acb973ea04da7b63835661db1157d75572f7f9b06348c512fba20f37bf52826805b543d109b69ac806acc3b722afaea972024c0d9cf40cddc40a466775032ccab7ace39f136ed9910d59876f455f5d517016f0c8104a9c7354dab4c6e06481901b9c233b26df57231ab30edf8abebaa16c403a3cf6f7bb9e767b9185b7272b1ae37aa2734dc0524735661dc0157d75416492cd26c451f9f4b9bd4b0364ac7e307337a0e39b82488f6acc3b812afaea815537f2fa5f0676a14040bdfebfb7245b92b19dc43706351fd598770355f5d50136823ea1946f6ffa4d47a3f575cc70b1d1a597856e0e0e40ab30ee07abebaa016d047d4328dedff49a8f47eaeb98e163a34b2f0adc1c1c815661dc0f57d75402661b5333282042a101e4b7cdcd8feac1f2d8ba12b839dd03acc3b81fafaea8035848ff1326a307f9d08f9793917dfd7e91f3d02270755e08598770405f5d50053ca456d323a892ab6de5571f195a22f7d029fc41e0ec6011b30ee081bebaa009055b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110ab60ca63b67501d5121ac6c5224dbd4992ca90183b4c848cc3b8208faea8022156c194c76cea03aa24358d8a449b7a9325952030769909198770411f5d500442ad83298ed9d40754486b1b148936f5264b2a4060ed3212330ee0823ebaa008855b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110377323108cd7848cdee0eebd18abe5443f0cec153b4e288dc3b82090aea8021f6ee6462119af0919bdc1dd7a3157ca887e19d82a769c511b877041215d50043e69dee4ef09c094eb4849e2ec590dbd0ba8760c51ed3a46380ee08243baa0087b5fd0228ae9e3ac8e5d59edd0a879a211fd2e74a0da7630711dc10488754010f54bb29dc2aa29dbd4877a039947516c1ea69f453eb4ee04e33b820911ea8021e9237794322ab63a60dbba2f2a85010037f980e67a69ddadc777041224d50043d146ef2864556c74c1b7745e550a02006ff301ccf4d3bb5b8eee082449aa0087a219f0a975813b6c3b3baee4a20a6228da9245f5e6a7785b1edc10489454010f4333e152eb0276d876775dc94414c451b5248bebcd4ef0b63db8209128a8021e8667c2a5d604edb0eceebb92882988a36a4917d79a9de16c7b7041225150043d0c5b97a458e03de491aa3d4d08496f6ecf3e720b323bc47cf7e08244a3a0087a174341a15e96de4bdb2140c208893d059929267261778a9df0c10489484010f42d12959b6a041f1a6e0f47ac0908d8332cfe8f40bfef16dfe2820912918021e859252b36d4083e34dc1e8f581211b06659fd1e817fde2dbfc5041225230043d0b24a566da8107c69b83d1eb0242360ccb3fa3d02ffbc5b7f8a08244a460087a16420bf33fcf75b5628470388403d1fc162a0bc61fc78b8a3151048948d010f42c7417e67f9eeb6ac508e0710807a3f82c54178c3f8f171462a2091291a021e858e0f0f28a0b3cfdb58e8d448f8eadd2d852f33e3eee2e4305541225235043d0b1b1e1e5141679fb6b1d1a891f1d5ba5b0a5e67c7ddc5c860aa8244a46a087a16363c3ca282cf3f6d63a35123e3ab74b614bccf8fbb8b90c155048948d410f42c6c048b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d709173b64e9c2bafe26d0df7e9a8f28484bc2f6e82e464d561225235243d0b1ae122e76c9d38575fc4da1befd351e50909785edd05c8c9aac244a46a487a1635c245ced93a70aebf89b437dfa6a3ca1212f0bdba0b919355848948d490f42c6b848b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d701d860efb728e329a39d41fe19f50ac7f6871ca7fe4667962225235253d0b1adf3b0c1df6e51c653473a83fc33ea158fed0e394ffc8ccf2c444a46a4a7a1635be022a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f608aa526a826d3482d05a9df9ce8367e1382617f2466e262625235257d0b1adec1154a4d504da6905a0b53bf39d06cfc2704c2fe48cdc4c4c4a46a4afa1635bd822a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f6016b77f54fd35cae4d2700794de94a60e2ea3db2166e406635235257e0b1adebf2d6efea9fa6b95c9a4e00f29bd294c1c5d47b642cdc80cc6a46a4afc1635bd7e5addfd53f4d72b9349c01e537a529838ba8f6c859b90198d48d495f82c6b7afc41ce5354c010d9de6046649eeb03586c216135083721d71b91a92bf158d6f5f70faeff56568436748d52f135cc64d8d2ef04c60d6e455238235257e3b1adebed1f5dfeacad086ce91aa5e26b98c9b1a5de098c1adc8aa47046a4afc7635bd7da3ebbfd595a10d9d2354bc4d73193634bbc131835b91548e08d495f8ec6b7afb4098a535f8a84365c375db1a65984ee9224688c68722c35c21a92bf1e8d6f5f671314a6bf15086cb86ebb634cb309dd2448d118d0e4586b8435257e3d1adebece26294d7e2a10d970dd76c6996613ba4891a231a1c8b0d7086a4afc7a35bd7d9c4c529afc5421b2e1baed8d32cc277491234463439161ae10d495f8f46b7afb3824b78ea57ea5e87b42a1425d8ead111cf2cb228422c50022a92bf1e9d6f5f66f496f1d4afd4bd0f6854284bb1d5a2239e5964508458a00455257e3d3adebecde1ef09342d0fa24a4d74b316e31126c6e776ee60d8b15a48ba4afc7a85bd7d9bb3de12685a1f44949ae9662dc6224d8dceeddcc1b162b4917495f8f50b7afb37607d4a5b81a4b154b29f2edb0baa7d9b489fdf4332c58362f92bf1ea26f5f66eb0fa94b7034962a9653e5db61754fb36913fbe86658b06c5f257e3d44debecdd61f5296e0692c552ca7cbb6c2ea9f66d227f7d0ccb160d8be4afc7a89bd7d9bac3ea52dc0d258aa594f976d85d53ecda44fefa19962c1b17c95f8f5137afb3758095cb42e7b13d76a6bf50303a0dbc3434c219f2fc58506fa2bf1ea27f5f66eaf12b9685cf627aed4d7ea060741b7868698433e5f8b0a0df457e3d44febecdd5e2572d0b9ec4f5da9afd40c0e836f0d0d30867cbf16141be8afc7a89fd7d9babc4ae5a173d89ebb535fa8181d06de1a1a610cf97e2c2837d15f8f513fafb3757821dd9b94879ff95e8c165832041a5c2f6e5c4ef9585213a3bf1ea2805f66eaef43bb37290f3ff2bd182cb0640834b85edcb89df2b0a427477e3d4500becdd5de1388c6fef4e26831fd1f88c006c798b865b397e26149f28ffc7a8a027d9babbb27118dfde9c4d063fa3f11800d8f3170cb672fc4c293e51ff8f51404fb3757764e231bfbd389a0c7f47e23001b1e62e196ce5f898527ca3ff1ea2809f66eaeec285890a47d75c447b5c26df82c9aedbdd9df1b100a513880e3d45014ecdd5dd750b12148faeb888f6b84dbf05935db7bb3be362014a27101c7a8a029d9babbae2d749b3ecc3993d6a3cfdfd8a8c9def213bec83d294686048f514054b375775b5ae9367d987327ad479fbfb15193bde4277d907a528d0c091ea280a966eaeeb641e4c5a80748d2125c05a75a9985a3c2fb3d7cf1a51bbc133d450153cdd5dd6b0fdbe3fce4f426dc84d176ad29696f80a2bd55e04a391c277a8a02a89babbad51fb7c7f9c9e84db909a2ed5a52d2df01457aabc09472384ef5140551375775aa3f6f8ff393d09b721345dab4a5a5be028af5578128e4709dea280aa26eaeeb540af17893fe03b99bf351dd6141a9a3ffc22d0aff51ca853cd4501545dd5dd6a715e2f127fc077337e6a3bac2835347ff845a15fea3950a79a8a02a8bbabbad4e2bc5e24ff80ee66fcd47758506a68fff08b42bfd472a14f35140551775775a9c578bc49ff01dccdf9a8eeb0a0d4d1ffe116857fa8e5429e6a280aa2eeaeeb5383b29e1ecb69e1c7701e3fe0c10f867f6cf130bf21ca9f7ce4501545ed5dd6a6f02661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba099872190e7aee9742389040613bdfa129a1cf84e5564e76280aa2faaeeb53741330e4321cf5dd2e84712080c277bf4253439f09caac9cec501545f55dd6a6e82661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba025997a3dbe116c2bf04f2bfe0a1c220d465f544b55668b6380aa2fabeeb5373f4b32f47b7c22d857e09e57fc1438441a8cbea896aacd16c701545f57dd6a6e7e227841a3cea833678e02d7f01eceb02fc5bfad2a559bd18f02a8beb0bad4dcfb44f083479d5066cf1c05afe03d9d605f8b7f5a54ab37a31e05517d6175a9b9f615f35f3c1103505604d187b87198e8b9c34110a65670ea3d0aa2fac3eb5373eb2be6be782206a0ac09a30f70e331d1738682214cace1d47a1545f587d6a6e7d657cd7cf0440d415813461ee1c663a2e70d04429959c3a8f42a8beb0fad4dcfac3bad528d5e7d0567f35265bb83256dc8c64ae12fb388f5e95517d6205a9b9f57036cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a0db3f71e4d72361ecdabcdbbf2a40e30e36079719c4e3f4ea8beb106d4dcfab41b67ee3c9ae46c3d9b579b77e5481c61c6c0f2e3389c7e9d517d620da9b9f56836cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a06751ca91ad85e4a4a78303b7209f0b08e249f316c4e598eb8beb106e4dcfab3f5ab5edd0316e4c011bcc2f66379c3e0c70d6422a89ccd5d817d620dd9b9f567d417e344d393f1aba045e86c46596a4138deee052139b4fb12fac41bc373eacf90f0ec14748e0b82bd5833580c18b7021c8201ca1273843635f5883796e7d59f11e1d828e91c17057ab066b018316e043904039424e7086c6beb106f2dcfab3e23c3b051d2382e0af560cd603062dc087208072849ce10d8d7d620de5b9f567c4048862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf870910c5ce3ad0882cf1bfa7fc05735211da86820c73877e37f5883798e7d59f0e12218b9c75a11059e37f4ff80ae6a423b50d0418e70efc6feb106f31cfab3e1c24431738eb4220b3c6fe9ff015cd48476a1a0831ce1df8dfd620de639f567c3848862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf8701d1eb590836b0586e8c0a7b84d93491854aa7cc4387987805883798f7d59f0df3a3d6b2106d60b0dd1814f709b269230a954f98870f30f00b106f31efab3e1be008d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd808d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd8019414790e4fb5627958d0124a1aa83f9989169dee7c3a6630de63ef667c37aff32828f21c9f6ac4f2b1a0249435507f33122d3bdcf874cc61bcc7deccf86f5fe65051e4393ed589e5634049286aa0fe66245a77b9f0e998c3798fbd99f0debfc561c9533fe3d33f4792e311d03b247c770cdaaf43e1ed7196f31f7b43e1bd7f7384b8314d2dceaa0bf228a31fdc2b7898dddb1e57c3f5233de63ef697c37afed70970629a5b9d5417e451463fb856f131bbb63caf87ea467bcc7ded2f86f5fda6d40650021d62d3ac95050bfed690620e3b92392f0feecd0798fbda6f0debfb3669322ad1a0edd2d5f66c977d130343c73b4a322e1ff7da1f31f7b4ee1bd7f6559389e070a803d128b93bae798be907393aba242c4009f44e63ef69ec37afec93e8394baeb62fcdce3ed9dc727db48e1d399a0828802e28acc7ded3e86f5fd9109198222ad287c7194a163864614b9be53759d021007691698fbda7e0debfb21123304455a50f8e32942c70c8c29737ca6eb3a04200ed22d31f7b4fc1bd7f6422466088ab4a1f1c652858e191852e6f94dd67408401da45a63ef69f837afec8448cc11156943e38ca50b1c3230a5cdf29bace810803b48b4c7ded3f06f5fd9081daa7ad7a8ea49d116dc605c57a9c3dfe39c2c1e0078356a8fbda7e1debfb20f3b54f5af51d493a22db8c0b8af5387bfc738583c00f06ad51f7b4fc3bd7f641e02bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd90760af1102de82ea7f0a0dea5a55414dde8eacc31d40789e6acfbda7e21ebfb20ec15e2205bd05d4fe141bd4b4aa829bbd1d59863a80f13cd59f7b4fc43d7f641d82bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd907603b235b8b594d01c1dab0824d37ac06895905793d78a00ed0bda7e21fbfb20ebf02590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa09643f0e23f218ee089cb24996d8d435793539dfc5070689ed3f1101fd9075f412c87e1c47e431dc113964932db1a86af26a73bf8a0e0d13da7e2203fb20ebe82590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa02256498f1584119856914c9163eb6b523f95f9f950720c9fd3f11020d9075f3f44ac931e2b082330ad229922c7d6d6a47f2bf3f2a0e4193fa7e22041b20ebe7e156b7ee92c72c919270b5a3d860bd543aa9a43e241c9d6804fc44084641d7cfb2ad6fdd258e592324e16b47b0c17aa87553487c48393ad009f888108c83af9f655adfba4b1cb24649c2d68f6182f550eaa690f8907275a013f1102119075f3ec376e4ff639f8cb810520f9e426bcd21801147b0f0e5058037e22042420ebe7d76edc9fec73f197020a41f3c84d79a4300228f61e1ca0b006fc44084841d7cfae69cb9885be45b0bbe14a0f889151705ab09448393943040ef888109183af9f5b5fa989b852ede42f8f5a4709190108b00d6aec6f7287ac1ef1102124075f3eb54b656c1d7c3e4b16eb7ab60a2860395ac71834dbe510fc3ee22042490ebe7d6922dd30e7cedf18e5a3bb940c471e9ab03a72c5b4ca239c7ec44084931d7cfad145ba61cf9dbe31cb477728188e3d356074e58b69944738fd888109263af9f5a217871c4c11dee64e5bb4782912d892bb960d72d0289015fc1102124d75f3eb432f0e389823bdcc9cb768f05225b125772c1ae5a051202bf82204249aebe7d6865e1c7130477b99396ed1e0a44b624aee5835cb40a24057f044084935d7cfad0c484b3b0d6559b52aaa69e9408d22bdd75cadf27e448253e18810926caf9f5a171ca8cec7a115ed0d2199fa7910a3a3a9659e40f989064bc4102124da5f3eb42d39519d8f422bda1a4333f4f221474752cb3c81f3120c9788204249b4be7d685a72a33b1e8457b4348667e9e4428e8ea5967903e624192f10408493697cfad0b47158cee9df11eb20d995fbc07b7b4545d93463c948340221810926d3f9f5a1676ec3f680948658f97ff21f78ed54b2865eab238f9069a84402124da8f3eb42cd699a45adff6f34aaccaa66e9d1078d076998a31c20d4f48904249b52e7d685995f46e408d540ec0d661af5cb986d42097f73a23541ab8d13084936a6cfad0b314aa020be80e45ad298fc138f2738ac0dab29a0678358be2710926d4e9f5a166121529a29d82b385cfebe4f1644cf801602959ccc06b3204f2124da9e3eb42cc142a53453b05670b9fd7c9e2c899f002c052b39980d66409e4249b53c7d685982115cc154370f642bc7bf6451099c2852b698cf2d1ace253d84936a79fad0b30322b982a86e1ec8578f7ec8a2133850a56d319e5a359c4a7b0926d4f3f5a1660645730550dc3d90af1efd91442670a14ada633cb46b3894f6124da9e7eb42cc0c16f8634e8edda4160ac14a80433f6a906108d565d672cded249b53d0d68598172df0c69d1dbb482c15829500867ed520c211aacbace59bda4936a7a1ad0b302e5be18d3a3b7690582b052a010cfdaa418423559759cb37b4926d4f435a16605c43d573214d4fa36822d07bfa10597c7db489072bb398136a24da9e87b42cc0b713bd3eef7101c98812671fec171120f615546a546731cad549b53d106859816d277a7ddee203931024ce3fd82e2241ec2aa8d4a8ce6395aa936a7a20d0b302da4ef4fbbdc4072620499c7fb05c4483d85551a9519cc72b5526d4f441a16605b429fc50285e70cef85fff2758aee72fab56e5aea0398ffaab4da9e88442cc0b6753f8a050bce19df0bffe4eb15dce5f56adcb5d40731ff5569b53d108859816ce3403994e5025be994cc2c55ab1fae6a807d9167de6418eae36a7a2120b302d9b6807329ca04b7d3299858ab563f5cd500fb22cfbcc831d5c6d4f442416605b365c20bde616f97d1cffd13d62be49c29acba6b5f49907deb9da9e88492cc0b66b4453d47904557cf1cc68a2bd72f1ad30438fc7e632116174b53d109359816cd514ba019edf0d7c9b65976d72dc41825b3361ebc9642466ea6a7a2127b302d9a92974033dbe1af936cb2edae5b88304b666c3d792c848cdd4d4f4424f6605b35252e8067b7c35f26d965db5cb7106096ccd87af2590919ba9a9e8849ecc0b66a431e265a3cece6792f981938ed86a3ad44751ba482124db5453d1093e9816cd4763c4cb479d9ccf25f303271db0d475a88ea374904249b6a8a7a2127d302d9a8e539bef3c119c2103b2cc76335807134bc989451d849511524f4424fb605b351b334a3724f99ac4bf325f145ea66c4e923f54e638092bc6a59e8849f7c0b66a3566946e49f335897e64be28bd4cd89d247ea9cc7012578d4b3d1093ef816cd46a593b3540bccd95b496427972900f6243a995f4dd24b0be977a2127e002d9a8d33e88c32e4ffdae20f94b1add167cec81ff6e45b74963212ff4424fc105b351a50923df09765ddef9bf5c5db2235800feab1ee76b92c7e660e8849f830b66a3491247be12ecbbbdf37eb8bb6446b001fd563dced7258fccc1d1093f0616cd4692248f7c25d9777be6fd7176c88d6003faac7b9dae4b1f9983a2127e0c2d9a8d24491ef84bb2eef7cdfae2ed911ac007f558f73b5c963f33074424fc185b351a481e5049443c407253c28c031a2bde37e55e30d2b62c800a0f8849f831b66a348f3ca092887880e4a78518063457bc6fcabc61a56c5900141f1093f0636cd4691e05537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b0aa6fb7b8ec8980dadec68c14bae0f204a0b4dab6403987e424fc18fb351a476154df6f71d91301b5bd8d182975c1e4094169b56c80730fc849f831f66a348ec2a9bedee3b226036b7b1a3052eb83c81282d36ad900e61f9093f063ecd4691d85537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b036821065c2ec0392ab8cb40cb13f19ff4cf736b3403b2be524fc18fc351a475f6d0420cb85d8072557196819627e33fe99ee6d66807657ca49f831f86a348ebe661a9a43e21291027af8f82abb5a8ff7e01f36ca00ee539593f063f1d4691d7b58478d349a87a4bcc2b8184d6d1347ea6c80c99101de4b2c27e0c7e4a8d23af53ca173160b71cc3152365892d084b7cf8543ef1f03be3a594fc18fca51a475e905553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd10aaa7db1da8c3634e265b23b2ecf2f336d9474760efc31673f063f2b4691d7a21554fb63b5186c69c4cb64765d9e5e66db28e8ec1df862ce7e0c7e568d23af442aa9f6c76a30d8d38996c8ecbb3cbccdb651d1d83bf0c59cfc18fcad1a475e885553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd1036ba33ca7f25e605f3214baae3511b318589a35defc4ba74f063f2b5691d7a1f6d746794fe4bcc0be6429755c6a236630b1346bbdf8974e9e0c7e56ad23af43e66fb27d6d2fa1acf994b56a383a294c0c268e974bf148dd4c18fcad6a475e87b5a08a85a7c56b856ff5cd53efda3517c31142ee67e2abfaa831f95ae48ebd0f54023a961cf0ff365cb7fd275f1a4caf30e6ab9c9fc572356063f2b5d91d7a1e90c59ab707482698363c5cce3d9a7bde0c917cf90f8afeaad0c7e56bc23af43d118b356e0e904d306c78b99c7b34f7bc1922f9f21f15fd55a18fcad78475e87a23166adc1d209a60d8f17338f669ef783245f3e43e2bfaab431f95af08ebd0f4462cd5b83a4134c1b1e2e671ecd3def0648be7c87c57f556863f2b5e11d7a1e8851ad0fb41e891aee0922f63590da06073dbf550c8b004ed1c7e56bc33af43d0f2f6c78151374b893df0c14631812340927c10616160241a48fcad78775e87a1d5ed8f02a26e97127be1828c6302468124f820c2c2c0483491f95af0eebd0f43a49c439012435650748f6798456a6f81f4b467455580aaa933f2b5e1ed7a1e8731f9acaaf1ecd4cc65eb31b00a3ac183942cf44a7b016f9277e56bc3eaf43d0e53f35955e3d9a998cbd66360147583072859e894f602df24efcad787d5e87a1ca0a7d83695197b5d1479293fa850e88dfb77f6e9bc05d889ef95af0fbbd0f439314fb06d2a32f6ba28f2527f50a1d11bf6efedd3780bb113df2b5e1f77a1e872629f60da5465ed7451e4a4fea143a237eddfdba6f0176227be56bc3eef43d0e4c53ec1b4a8cbdae8a3c949fd4287446fdbbfb74de02ec44f7cad787dde87a1c9833ea8f41efdddfcc45ef67a04746b5f6243945b905da2df095af0fbcd0f4392f67d51e83dfbbbf988bdecf408e8d6bec48728b720bb45be12b5e1f79a1e8725e5bbc95b495da01e8e483c6791378ffd33d2772e1176a5bc356bc3ef443d0e4bb438b84160216868995cdb4ea1d5027a1269141bf2ed65b87ad787de987a1c975132960d8da8f8fcaf86191cc30fe773cf964df7b5dae5b105af0fbd40f4392e92652c1b1b51f1f95f0c3239861fcee79f2c9bef6bb5cb620b5e1f7a81e8725d24ca583636a3e3f2be1864730c3f9dcf3e5937ded76b96c416bc3ef503d0e4ba4255d5f73aadf010f8fd2b6597e51e1e2776957d7ed747c83d787dea17a1c97474ababee755be021f1fa56cb2fca3c3c4eed2afafdae8f907af0fbd42f4392e8e2187d67b81de86f60c11015defa5af8489e7bb5cb5d396105e1f7a86e8725d1b430facf703bd0dec182202bbdf4b5f0913cf76b96ba72c20bc3ef50dd0e4ba361231b29adddc9e8ffd0a2d6fb4f4e60cd3e1496fd74ffc42787dea1ca1c9746b24636535bbb93d1ffa145adf69e9cc19a7c292dfae9ff884f0fbd4394392e8d648c6ca6b77727a3ff428b5bed3d398334f8525bf5d3ff109e1f7a8728725d1ac1d9fed83c5477737b51793759e0558614b4ca77bba818614c3ef50e60e4ba3573b3fdb078a8eee6f6a2f26eb3c0ab0c296994ef775030c2987dea1cc1c9746ae02920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60a483aefae017e5a8491d739b9ce25ff65d3e7afa81ef1503ef50e64e4ba356c149075df5c02fcb50923ae73739c4bfecba7cf5f503de2a07dea1cc9c9746ad82920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60309607a7b67a686015e39b93934087f10980d6f781f0b904ef50e64f4ba356bf612c0f4f6cf4d0c02bc7372726810fe21301adef03e17209dea1cc9e9746ad7e4e6a774bb04c243824549646436047bed245b7db07c48814bd43993e2e8d5afb28e7474436facb28156f54847d1eb77850cdcbb30f8ab42a7a87327d5d1ab5f551ce8e886df596502adea908fa3d6ef0a19b97661f156854f50e64faba356bea2faf75bdb24daf5822837a09ead905dbef798ac93e2c74aaea1cc9f6746ad7d35f5eeb7b649b5eb04506f413d5b20bb7def315927c58e955d43993ece8d5afa64ad02fa39f99401856d4101fa1c23f6a6a288721f8b376aca87327dad1ab5f4b21b2b7f4159502e87a6e483739e2a6cf80936a40f168915a50e64fb6a356be9543656fe82b2a05d0f4dc906e73c54d9f0126d481e2d122b4a1cc9f6d46ad7d2a12dd387d2cb68e59b67f48d4dde8c338ae900500c5a3e96a43993edb8d5afa5325ba70fa596d1cb36cfe91a9bbd186715d200a018b47d2d487327db71ab5f4a64b74e1f4b2da3966d9fd235377a30ce2ba401403168fa5a90e64fb6e356be94c22fc1c963c16f58580c06e9ee5a441c020c284032d20ef531cc9f6dd6ad7d29745f8392c782deb0b0180dd3dcb488380418508065a41dea63993edbad5afa52e1802cb05c6be58cdcfc7e2738cef2efb2f4c6c09b485614d7327db76ab5f4a5b3005960b8d7cb19b9f8fc4e719de5df65e98d813690ac29ae64fb6ed56be94b6600b2c171af963373f1f89ce33bcbbecbd31b026d2158535cc9f6ddaad7d296c4c28b0db0c5549264b053b945dd79fd426a5bc4aa42cae6c993edbb65afa52d72463ba62ef0d150462d09f20b20d67a2f98dd492485b00da327db76db5f4a5ad48c774c5de1a2a08c5a13e41641acf45f31ba92490b601b464fb6edb6be94b5a1da142389296d6c95808a47abe93c6869279ae46216da769c9f6ddb7d7d296b33b428471252dad92b01148f57d278d0d24f35c8c42db4ed393edbb6fafa52d660297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b5960a5d863c82f77774b3a2e78bc2b50853d8a4545616e106a09f6ddb817d296b2c14bb0c7905eeeee96745cf17856a10a7b148a8ac2dc20d413edbb702fa52d658297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b596031eabc7505d9fa0306f4a0b421aead383687a15e6e120e0af6ddb818d296b2bf63d578ea0bb3f4060de94168435d5a706d0f42bcdc241c15edbb7031a52d657e53bd4a80edca6ac3e898aac87d18dcdb8660e176b849dc2cdb76e0644a5acafb338cedaeb1f7583f9df77d88f08fe1b1b9041eea70955c5ab6edc0c994b595f56719db5d63eeb07f3beefb11e11fc36372083dd4e12ab8b56ddb8193296b2bea5a460f679e3fe3b644a41e1bb89daec19052d7a6c257156bdbb7032752d657d3409e777c12e24a24560e642f6799857dcce80b4a84afced8b76e064fa5acafa50d4f47a4fc27170078e2f056c59132f646127292096141b26edc0ca04b595f491a9e8f49f84e2e00f1c5e0ad8b2265ec8c24e52412c28364ddb8194096b2be92353d1e93f09c5c01e38bc15b1644cbd91849ca48258506c9bb7032812d657d246a7a3d27e138b803c71782b62c8997b2309394904b0a0d9376e065025acafa486106d2fc98d3f2bf5af52d644f71575f0d69851d9615bf27edc0ca05b595f48f4e1ffea6080a683682b082c09540d6b8c71566382c2d2250db81940c6b2be91d285255f8e6775324d2272d7920dfd56c3a6d286d585be8a2b7032819d657d23950a4abf1cceea649a44e5af241bfaad874da50dab0b7d1456e065033acafa4722d5bb090703fcf4b1562dddc79dd7dab95f6fdb26171468bdc0ca068595f48e35ab76120e07f9e962ac5bbb8f3bafb572bedfb64c2e28d17b81940d0b2be91c641811aee9761bfe422519f69ddd41ea9041e52c685c6be30703281a2657d238b0f148e8a05260280116966cbb206654cb47f018a0b8f2061e0650345cafa47151e291d140a4c050022d2cd97640cca9968fe0314171e40c3c0ca068b95f48e2a3c523a2814980a0045a59b2ec8199532d1fc06282e3c818781940d172be91c5404b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7096d99f9ff252d70b022bcab0d22a4c0a074d09ab8f54e200650345eafa4714e12db33f3fe4a5ae1604579561a45498140e9a13571ea9c400ca068bd5f48e29c25b667e7fc94b5c2c08af2ac348a930281d3426ae3d538801940d17abe91c5384b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7022ebf84cc8b559c2cef1f2a8c8887404b38f65a88f568601650345ebfa4714df45d7f099916ab3859de3e5519110e809671ecb511ead0c02ca068bd7f48e29be17c239dff937e9c3088df29b187ff80d7a7ff29f3d5bbc06940d17b0e91c537b2f8473bff26fd386111be53630fff01af4ffe53e7ab7780d281a2f61d238a6f65f08e77fe4dfa70c2237ca6c61ffe035e9ffca7cf56ef01a50345ec3a4714dec4a2427aca021d0d01135bcd0ba5de8668041f0f6eadf8435a068bd8848e29bd7205aa80616a62457ef31a1996b19f8c7acc63dead5c0ac6c40d17b1191c537ad40b5500c2d4c48afde634332d633f18f598c7bd5ab8158d881a2f623238a6f5a0d7cf8c530fb1417898cae5da2c60b195f5b53a8570455b20345ec474714deb31af9f18a61f6282f13195cbb458c1632beb6a750ae08ab64068bd88e8e29bd6635f3e314c3ec505e2632b9768b182c657d6d4ea15c1156c80d17b11d1c537acc6be7c62987d8a0bc4c6572ed163058cafada9d42b822ad901a2f623a38a6f59863e1e4ffe613c43065910dd222bed990a1f796827046ff21345ec475714deb2f53d622aca28a0b1897e8439c3bdbdb1bf0318901e08fa24368bd88ebe29bd65d33be9e061b7698e8fc96af306e15de328ca56e00c120e887d17b11d8c537acb9677d3c0c36ed31d1f92d5e60dc2bbc65194adc018241d10fa2f623b18a6f59725b0cd0c5443ce65bbf20e4b9aeb5a0c4ded814000485462045ec476414deb2e3422bfa375edc4f6f4b07f16b53c9698469f283fd090c30418bd88ec929bd65c5106a4d1b941b219662d60ace9df0fb03802763f7121a048417b11d93537acb8920d49a372836432cc5ac159d3be1f607004ec7ee243409082f623b26a6f5971241a9346e506c86598b582b3a77c3ec0e009d8fdc486812105ec4764d4deb2e240f64c189773b8f6ae3767e6ce5e60016ad7d7bb590d1c821bd88ec9b9bd65c471ec98312ee771ed5c6ecfcd9cbcc002d5afaf76b21a390437b11d93737acb88e3d930625dcee3dab8dd9f9b39798005ab5f5eed643472086f623b26e6f59711c073864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370e70c9f1207dfc1dd0f436be4b1c5160305c73530d1fca1dd88ec9bbbd65c46e1ce193e240fbf83ba1e86d7c9638a2c060b8e6a61a3f943bb11d93777acb88dc39c327c481f7f07743d0daf92c714580c171cd4c347f2877623b26eef59711b873864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370731ef7bede424494dc0993dca8233dfdb209912dd1fe45de88ec9bbcd65c46df7250482a92e70be184d94fb146a4a3f610557e58a3fe2fbe11d9377aacb88dbd70b2e901fc309a7ad678c75a83a76fe6cced58ae47fe037d23b26ef659711b796d782ab0cec3b7ad79b7b6acfdad07c8461d0d598ffdaafb4764ddedb2e236f16702ae0e73e9f212c0359551f1b8378b387c76b01ffcf9f78ec9bbdc65c46de15a17b4c9be3666dd4d31529bd9ce97111d3b495d3ffb97f01d9377b9cb88dbc14041c24052cf50726728cd2fa9fb561ce6b8eeb77ff8d3e13b26ef749711b7810c95dd2d7c01239c9b17c2574a54d43479b4396bfff34bc3764ddeea2e236f01192bba5af8024739362f84ae94a9a868f36872d7ffe69786ec9bbdd45c46de02325774b5f0048e726c5f095d295350d1e6d0e5afffcd2f0dd9377ba8b88dbc0464aee96be0091ce4d8be12ba52a6a1a3cda1cb5fff9a5e1bb26ef751711b780855702b849674bc817e424d6c9bab6b424785f2bcff36603864ddeea3e236f00f36f2afb6034bfbbac94ac2d12db4fe7f3b4e4176fe6e6471c9bbdd48c46de01d6de55f6c0697f775929585a25b69fcfe769c82edfcdcc8e39377ba9188dbc03a67dd1784e39271a2f1f1333cad3221f7997b61d8f9bb35c826ef752411b780735bcc87b69d8765fdb0a88e7150c26be9df391faef3780f914ddeea49236f00e543ab681a11714eb32e1744da97e2ffce6ab49b5ae6f1c3239bbdd49346de01c9136928e0f945201e28f4b1ad2624279781ab92b2cde52a48377ba9278dbc039126d251c1f28a403c51e9635a4c484f2f035725659bca54906ef7524f1b7807224da4a383e5148078a3d2c6b498909e5e06ae4acb3794a920ddeea49e36f00e44275b9fb4a08b83a9146bb561277f64b6b99ef1936f2af642bbdd493d6de01c874eb73f694117075228d76ac24efec96d733de326de55ec8577ba927adbc0390e2980d77f5890915c1e74fd7c945bbad592be224abcad7d0bef7524f6b780721b5301aefeb12122b83ce9faf928b775ab257c4495795afa17deea49ed6f00e4363215b6aa38a4c828469a1dea47cd1350f73ae527f2b79830bdd493dbde01c86b642b6d54714990508d343bd48f9a26a1ee75ca4fe56f30617ba927b7bc0390d654693355b8f5a358e72e9fa11592753e892df09ccae004c3f7524f70780721ab34e4bf58484dc9699b23673a21831277be9e3d3695c1ad88eea49ee1f00e435569c97eb0909b92d33646ce74430624ef7d3c7a6d2b835b11dd493dc3e01c86aa5fa5560df799a85e3953c4e07c6a71d9a6bb50d757085a24ba927b88c0390d534b5d04c8c595d3743f6db1b8ef330badf9b8fdabae12584a7524f71280721aa522cc623e618e29a04ba18b69d4c43f569fb457545c265495ea49ee2600e435494598c47cc31c5340974316d3a9887ead3f68aea8b84ca92bd493dc4c01c86a921743e1a65c9b2938fb4c559f496f25552b13b94e709af658a927b8990390d5232e87c34cb9365271f698ab3e92de4aaa5627729ce135ecb1524f71320721aa465d0f8699726ca4e3ed31567d25bc9554ac4ee539c26bd962a49ee2640e43548c463165dfbb3bcc7fa728d4f241d752a404e0267084d956c6493dc4c91c86a9171875246c4cda1bb71b17d1dc7a0ccd42b602a8de09b4518d927b8993390d522d30ea48d899b4376e362fa3b8f4199a856c0551bc1368a31b24f71326721aa45a61d491b133686edc6c5f4771e833350ad80aa37826d1463649ee264ce43548b44fbb7c0f3d336070a584b6dbc6c492105c57a2ed4da4306d93dc4c9ac86a91672b8950cb50c9439917cf95af83e74c1b64f1a1d79b4a04dc27b8993690d522cd5712a196a19287322f9f2b5f07ce9836c9e343af369409b84f71326d21aa459a3a379bda1987911c2c047eb605fb58684008e35b6d29b7719ee264db43548b33008190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32808190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32800da2b9b6480772dc9beb8bfa4b36f32700650fd75514883ec4c9b787a91664ff1b45736c900ee5b937d717f4966de64e00ca1faeaa29107d89936f0f522cc9fe368ae6d9201dcb726fae2fe92cdbcc9c01943f5d545220fb1326de1ea45993fc6d15cdb2403b96e4df5c5fd259b7993803287ebaa8a441f6264dbc3d48b327f8663df41156d9b0818b7ee79ca9cd5a6ab2935972514a27ed4c9b787b91664fef588e40cf8415e3bae3c3f73149f8dcd011690ee1a295f3db9936f0f822cc9fdd3d2eda4bde8e4a2d944e165a8a4fe19acf1479c0452d8bb8326de1f145993fb906700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f710ce01a8926fe2e25eac4a95a15fbd66094d69efb14b976e2c9b787c71664fee219c035124dfc5c4bd58952b42bf7acc129ad3df62972edc5936f0f8e2cc9fdc433806a249bf8b897ab12a56857ef5982535a7bec52e5db8b26de1f1c5993fb886700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f7105a14013f464565167910bd99561b8e03f9ac4bae4b99122d9b787c72664fee1f403a5b2b62ed4ce4bee7a32aa29544029f9af3599733c85c36f0f8e5cc9fdc3d0c870f039c3d1c814a956e4d3b88afffeb7842b02e6934b96de1f1cc993fb879190e1e07387a3902952adc9a77115fffd6f085605cd26972dbc3e399327f70f2321c3c0e70f472052a55b934ee22bfffade10ac0b9a4d2e5b787c73264fee1e46438781ce1e8e40a54ab7269dc457fff5bc215817349a5cb6f0f8e64c9fdc3c8548348e69a344acc761d0ccbaee927f963c686ffe694ef97de1f1cca93fb878f3518ea7a0acb1850b900418f543077ed73cf69fccd2b8330bc3e399627f70f1d6a31d4f4159630a17200831ea860efdae79ed3f99a570661787c732c4fee1e3a60760295018ee3fab0c72e35472007b07b8003f034afb0c3f0f8e6599fdc3c734cfe5dd6d9804aad2e548462849e375ba34263dd69610588e1f1ccb43fb878e5260f145a89631812296f30bcff9a96b1f2c723b7d2c3af12c3e399697f70f1c94c1e28b512c6302452de6179ff352d63e58e476fa5875e2587c732d2fee1e392244eaa16fbeee3007282eaebf4c882c2775eeadc4b10604c0f8e65a6fdc3c723489d542df7ddc600e505d5d7e9910584eebdd5b89620c0981f1ccb4dfb878e461d4d0108c61e0eb996d1d3a7c980330489be076e2c4325313e39969cf70f1c8b3a9a02118c3c1d732da3a74f93006609137c0edc58864a627c732d39ee1e391601465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac0a32e67f76d5ecf1406bb4b8e2f7a06699d3cdad8871c62fc732d3a6e1e391581465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac02f40c0a443c151cbd381738625d82e64497f36d5871e06fd732d3a6f1e39157f5e8181488782a397a702e70c4bb05cc892fe6dab0e3c0dfae65a74de3c722afe49155b3de567c9e71acbf6108dbee18bd23f37531c79bff6ccb4e9bd78e455fb1e3d0f28a1321686025e141911dbeb1250c0caa338f523ee9969d37bf1c8abf53c7a1e5142642d0c04bc283223b7d624a181954671ea47dd32d3a6f7e39157ea0506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd30a0d2a9eb655b99fac7cf0b87b9ba887de8b0d13c7ac6776cb4e9be18e455fa6141a553d6cab733f58f9e170f737510fbd161a278f58ceed969d37c31c8abf4c2834aa7ad956e67eb1f3c2e1ee6ea21f7a2c344f1eb19ddb2d3a6f8639157e98506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd302ce502983bbe1cb29495337fb018b07894f32d397ac81b6db4e9be19e455fa5f59ca0530777c3965292a66ff603160f129e65a72f59036db69d37c33c8abf4be3fa6630dc55af5821f1af5f6b6c0e9dd000f10e2eb2211b7d3a6f8689157e97b0b5f1ec861186dbc0afc13e563dffbb4ac607dc2d645c770a74df0d222afd2f516be3d90c230db7815f827cac7bff76958c0fb85ac8b8ee14e9be1a4455fa5ea2d7c7b218461b6f02bf04f958f7feed2b181f70b59171dc29d37c3488abf4bd45af8f64308c36de057e09f2b1effdda56303ee16b22e3b853a6f8691157e97a842044532e7e95e787c87664e345de345724a382a645e1b0b74df0d232afd2f4f101ae312a6353fa8c5d4f4945f19ee8590d6cc51c8bdda17e9be1a4755fa5e9d2035c6254c6a7f518ba9e928be33dd0b21ad98a3917bb42fd37c348eabf4bd3a406b8c4a98d4fea31753d2517c67ba16435b314722f7685fa6f8691d57e97a740ce97142080c7ffdfb6dcc9aef2d9c2732f8be8b45f074c04df0d23bafd2f4e719d2e2841018fffbf6db9935de5b384e65f17d168be0e9809be1a4775fa5e9ce33a5c5082031fff7edb7326bbcb6709ccbe2fa2d17c1d30137c348eebf4bd39c674b8a104063ffefdb6e64d7796ce13997c5f45a2f83a6026f8691dd7e97a7385aa96ccd572a829783a2f1a6e937ea6ddbce44b15f08f005df0d23bbfd2f4e6f4165324784b787e6d40c0b45c8cdfcd663dee55fbe13840cbe1a4778fa5e9cdd0edcbd3bdfd1928574de3e8387fa21a7740026bc7c28ac1a7c348ef2f4bd39b91db97a77bfa3250ae9bc7d070ff4434ee8004d78f8515834f8691de5e97a73723b72f4ef7f464a15d378fa0e1fe8869dd0009af1f0a2b069f0d23bcbd2f4e6e402f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e0be10a2f53bc5b8dcee07050d8bcd4d9310e4783851c13538691de6297a7371c17c2145ea778b71b9dc0e0a1b179a9b2621c8f070a3826a70d23bcc52f4e6e382f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e04a22fba212283b94bacd2d05822b758dbd26d43551c2d939691de62a7a7371bf20584ff0fab2f9e142608202fab5131626900467a3875673d23bcc55f4e6e37d40b09fe1f565f3c284c10405f56a262c4d2008cf470eace7a47798abe9cdc6fa0d739870c12e6a3cd6483003e132745346826d9b8e1efdd048ef3158d39b8df31ae730e1825cd479ac906007c264e8a68d04db371c3dfba091de62b1a7371be635ce61c304b9a8f35920c00f84c9d14d1a09b66e387bf74123bcc5634e6e37cc6b9cc386097351e6b241801f0993a29a34136cdc70f7ee8247798ac69cdc6f98634bdfb8e94926853149283609856d2f146935b5e1f181058ef3158e39b8df2f52aa181ea8f4cfc22f58786409690258d514c768c3e4a60c1de62b1d7371be5d316688ea284c223c2b7718c009302cac566beace87caf0193bcc563be6e37cb962cd11d45098447856ee318012605958acd7d59d0f95e0327798ac77cdc6f97251ac7c5577930ba87aa28af81b1edaac05f207371f2d6465ef3158f09b8df2e32f6b5157c5889a08c20b3de82c9bdd52b8266a6b3e5c6cccde62b1e2371be5c55ed6a2af8b11341184167bd05937baa5704cd4d67cb8d999bcc563c46e37cb8a49bf9e0bec84eadad4f31f98a8cd9d458cdc05a9f9735734798ac789dc6f97131f9194c4af6c586d76ac672947f96285c5fa6750f2e85269f3158f14b8df2e253f2329895ed8b0daed58ce528ff2c50b8bf4cea1e5d0a4d3e62b1e2971be5c4a0a58abbf9413e46da777c49d1643b211c42bf940cba2eda8cc563c53e37cb89314b1577f2827c8db4eef893a2c8764238857f2819745db5198ac78a7c6f971262962aefe504f91b69ddf1274590ec84710afe5032e8bb6a33158f14f8df2e24c52c55dfca09f236d3bbe24e8b21d908e215fca065d176d4662b1e29f1be5c498319d14a617a0c992444271c95a994916ef01f009ba307e8dc563c53f37cb892f633a294c2f4193248884e392b532922dde03e0137460fd1b8ac78a7e6f97125e5286ab4534e5a900ddcfef1d60c34c56684a1c23e8c39e38158f14fddf2e24bb311faf37402dd4b988660632b7e4c0a77cd69444d188e0712b1e29fcbe5c4975623f5e6e805ba97310cc0c656fc9814ef9ad2889a311c0e2563c53f97cb892ea50911589d719d59dee5e40c2d5f12a989f9cad10462525c5ac78a7f3f97125d32d3483c084962df3a982a97da2407d2beb7bb61d8c4bef8c58f14fe8f2e24ba55a690781092c5be7530552fb4480fa57d6f76c3b1897df18b1e29fd1e5c4974a40e467aee8bb3a8672d0cdee7f601caa5a3134733131623263c53fa4cb892e930ddb280aa7d8f7c4b267c3d4f51e614f60a4c4e362646865c78a7f4a97125d251bb650154fb1ef8964cf87a9ea3cc29ec14989c6c4c8d0cb8f14fe952e24ba4a376ca02a9f63df12c99f0f53d479853d8293138d8991a1971e29fd2a5c4974946ed940553ec7be25933e1ea7a8f30a7b0526271b1323432e3c53fa54b892e92869c4d95753f1ff02f342654748443cf0b68eaa3326482a5d78a7f4aa7125d24f5f9c0b5b7e4680bdb34af28686e6a1dc195fb0634c91f8bbf14fe955e24ba49d4b4a6f63d2ef8433335c0d05042b6bb2df01bcc399259578e29fd2acc497493922a737747c418b1e337e4201feb4ff606a45d584324ccef2c53fa55a892e9271454e6ee8f883163c66fc8403fd69fec0d48bab0864999de58a7f4ab5125d24e216af367ec768af309abf2ffff132257c5559b20dc934dfcc14fe956b24ba49c32d5e6cfd8ed15e61357e5fffe2644af8aab3641b9269bf9829fd2ad6497493865abcd9fb1da2bcc26afcbfffc4c895f15566c83724d37f3053fa55ac92e9270c418c0ca311a7fc3ca2bfa7f77fef53dd570fec6b49a8a261a7f4ab5a25d24e170f2a71f2f9b27b31124577e6f63ccfb55a6234d39352e8c44fe956b54ba49c2d1e54e3e5f364f662248aefcdec799f6ab4c469a726a5d1889fd2ad6a9749385a3ca9c7cbe6c9ecc44915df9bd8f33ed56988d34e4d4ba3113fa55ad52e9270b40565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e1670acbd08947ecb880bde3ce5f50894b4afea805333531d446fe956b56ba49c2ce1597a1128fd971017bc79cbea1129695fd500a666a63a88dfd2ad6ad7493859c2b2f42251fb2e202f78f397d42252d2bfaa014ccd4c7511bfa55ad5ae9270b38565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e167038cf6141552e0ac3ab030decfef2dcaa96c2af30531ee870e956b56ca49c2cdf719ec282aa5c158756061bd9fde5b9552d855e60a63dd0e1d2ad6ad9493859be6f4fddb22b1aadc678d25fabf2299aa5074d18be4c7d45c4a55ad5b39270b37b6ab214112c97de44be6ae74fdab15d44badc8d7998fc2f8a4ab5ab6824e166f5617680cf2f923f41499bf697abc0e28421fb76f031fa0315956b56d149c2cde94eff5a4b3587013a5ffe15274ddfed02f03949dd63f5aa2c2ad6ada393859bd12a110d434170852c8cc25246921e02008cb4efb7c7ecf85955ad5b48270b37a154221a8682e10a591984a48d243c04011969df6f8fd9f0b2ab5ab6904e166f4234568db9dc249769ffcf71123ed62ffcdf161adc1fb5856656b56d219c2cde8368ad1b73b8492ed3ff9ee2247dac5ff9be2c35b83f6b0accad6ada433859bd065d6c8f9446f4e05fcc03ec40f1b6e7ee289ac76d7ed7b99a5ad5b48770b37a0b46eb77d5644c437764ce0079d9cbf7d6fd77ead7fdb11735b5ab690fe166f41519e948579efb09a6966228eba9f617a8a73231acfb63d26c6b56d220c2cde82933d290af3df6134d2cc451d753ec2f514e646359f6c7a4d8d6ada441859bd05267a5215e7bec269a5988a3aea7d85ea29cc8c6b3ed8f49b1ad5b48830b37a0a45b5c9b69ce3acfec7fd76f55460ee53fe5d3e964db2037645ab69107166f414742cb8f8072d82290cc7506a2827bf27a77ea2ec6b64212c9b56d220f2cde828d11a977adbc12c7d965b0353cfb560cef9c16b98a6c85c9946ada441f59bd05192352ef5b78258fb2cb606a79f6ac19df382d7314d90b9328d5b4883eb37a0a3246a5deb6f04b1f6596c0d4f3ed5833be705ae629b2172651ab69107d66f41464195e161ab6f8c182fa47d1dfd10e8f778cf82850642ff0a456d220fbcde828c732bc2c356df18305f48fa3bfa21d1eef19f050a0c85fe148ada441f79bd0518e6578586adbe3060be91f477f443a3dde33e0a14190bfc2915b4883ef37a0a31c570309828e288ecf9f04b6f67ed2a3b714039e8021812923b69107df6f4146373a186bb1f2b3a0570acf95e4f4036f68d44998fd4303f6486d220fbfde828c6d00433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d90012727a2469e94e7c976dabb4c06bc0a4575e4b091322c7b5883f017b0a31b1ff24e4f448d3d29cf92edb576980d78148aebc961226458f6b107e02f6146363fe49c9e891a7a539f25db6aed301af02915d792c244c8b1ed620fc05ec28c6c7fc1fa629d025acf69c8833859df9bc2d1d6734b4459917e1ad41f80bd9518d8ff73f4c53a04b59ed3910670b3bf3785a3ace69688b322fc35a83f017b2a31b1fee0aaaffed6d165d29ed943e6fdd4edc7049152d1364612ab607e02f6646363fdb1555ffdada2cba53db287cdfba9db8e0922a5a26c8c2556c0fc05ecc8c6c7fb62aabffb5b45974a7b650f9bf753b71c12454b44d9184aad81f80bd9918d8ff6c5557ff6b68b2e94f6ca1f37eea76e38248a9689b230955b03f017b3231b1fed836c25783a7c85556a60a0ef5cb4beeff3d952d3346144f617e02f6656363fdaf6d84af074f90aaad4c141deb9697ddfe7b2a5a668c289ec2fc05eccac6c7fb5e671bb6bb7583d81264ee63cf238de3f7a29710ca1852e186f80bd9968d8ff6bb5a49c623c16a32dc96a2ef963d79efe9f1707d9130a7670ef017b32e1b1fed7540a5e4f45936e870fa0c0724715207ce8f23571f6150721ee02f665d363fdae90d5e229588d05399c0de3640d9023797ca890a3bc2a2883ec05eccbb6c7fb5d11abc452b11a0a73381bc6c81b2046f2f951214778545107d80bd9976d8ff6ba235788a5623414e670378d9036408de5f2a2428ef0a8a20fb017b32edb1fed7446af114ac46829cce06f1b206c811bcbe544851de151441f602f665db63fdae8861f482056367bc53daa98c058681a17754d2ffb92a2a27ed05eccbb7c7fb5d0f4ffb5cb79d31fb5f8219400303616ae955e85b6f5455f3db0bd997708ff6ba1d2c09121c10c67976d0f8a7fdfd20fdcd581312dba8ad8bb717b32ee21fed743958122438218cf2eda1f14ffbfa41fb9ab02625b7515b176e2f665dc43fdae8723c36a11d197c689310a8c7efeae21f300c8ea76ba2b7d2dd5eccbb897fb5d0e3047f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c508ff35ce12b6a7bbdc2f6faf9844ccb58abf55a88ae293777b32ee27fed7438a11fe6b9c256d4f77b85edf5f3089996b157eab5115c526eef665dc4ffdae871423fcd7384ada9eef70bdbebe611332d62afd56a22b8a4dddeccbb89ffb5d0e2847f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c501c05b58e01ccfe758fbd22f17aaaf3535837b685ae2adb78b32ee280ed74389f380b6b1c0399fceb1f7a45e2f555e6a6b06f6d0b5c55b6f1665dc501dae8713e7016d6380733f9d63ef48bc5eaabcd4d60deda16b8ab6de2ccbb8a03b5d0e27c6c40051ce4ca76644aaf3f83cbb5c2956e00102a71587fc6997714086ba1c4f7649262e69ff76f806224a6ff8dc9ad2588427c51e2b2a38e32ee2811d74389ed55371e7a165161b8910f75f711f18245bcc754a0c566eb1d65dc5024ae8713d9368095a103054628eee513e61a412c8625d1053e8acf7a3bcbb8a04a5d0e27b16d012b42060a8c51ddca27cc3482590c4ba20a7d159ef47797714094ba1c4f626614af30e2779b5b885a77905f62da13438670f72b3f8cf02ee2812a74389ec3583bb70e9b51b96edd7b1718b523dc21334f3deb5680bde15dc50255e8713d853c89c6ca0d05f59587bc562960a5e03d12e0d7d3ad031fc3bb8a04acd0e27b090525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f6110a4bcc81e0dcdbc5b87da8956f53d0e9a4081748b40fc710ee2812b54389ec2214979903c1b9b78b70fb512adea7a1d348102e91681f8e21dc50256a8713d844292f320783736f16e1f6a255bd4f43a690205d22d03f1c43b8a04ad50e27b088525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f611030cf20cae4303f1354a0b14eeb9b3694ecc3d08840fe150fe2812b55389ec21f619e4195c8607e26a941629dd7366d29d987a11081fc2a1fc50256aa713d843e4f4edbd867237f051f48ed33a4cb024e5f519e1e03f9f8408a04ad55e27b087b2ab0105da4a980c20b58025f3ff42c976ae5983907f5948214095aacc4f610f5556020bb4953018416b004be7fe8592ed5cb30720feb29042812b55989ec21ea36d29a23690885bffa263174f62eda5857d8bce11fd7f60950256ab413d843d36da53446d2110b7ff44c62e9ec5db4b0afb179c23fafec12a04ad56827b087a6675cc13a7a8499b7b55eedcbcf19915c0ba54f817f617c264095aad14f610f4b5acbdb21cb6bb6273784038f94914ab2c38cfafffec49c4d812b55a39ec21e9541aa0ef06d39ef063bce2f171f80bd60335c51fcfd8adc9c0256ab483d843d290f66768db0d660c444628626355fa2bb12fafff6fb175d3904ad56917b087a511ecced1b61acc18888c50c4c6abf457625f5ffedf62eba72095aad22f610f4a23d99da36c3598311118a1898d57e8aec4bebffdbec5d74e412b55a45ec21e94407460d1a5d1588d9efda5929a15b3dd3441a5bb4d8bc8dc9256ab48cd843d2870e8c1a34ba2b11b3dfb4b25342b67ba68834b769b1791b924ad56919b087a50e1d18346974562367bf6964a6856cf74d10696ed362f2372495aad233610f4a1c3a3068d2e8ac46cf7ed2c94d0ad9ee9a20d2dda6c5e46e492b55a466c21e943800732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f007266fdfc4c83304ca43b4c101a6885d67c70f1149502caae56919d097a50ddff70e054a56f68e351153cc0182b2f33a7a5243e262a07395dad233a13f4a1bbfd6dd301f7b5344959f73fa8284cbc8f49f68ad849541016bc5a467428e94377f967b85c9c40cb156bbb4578488fd7468e99580c8fa821d179b48ce852d286eff15b8311e557f8ad8f43511889160cb517def2751c504546f46919d0a6a50ddfe143187c778653ddd65368590a2277922a6a274635a08c31e9d233a14e4a1bbfc11243519be30a3e647396da0c3b4d4c4f8090e868411a07d4a467429d94377f812486a337c6147cc8e72db418769a989f0121d0d082340fa948ce853b286eff02490d466f8c28f991ce5b6830ed35313e0243a1a104681f52919d0a7650ddfe041e2ce58beeb475db697cf859d0c88a76b0c99f3f08d1e2a6233a14eda1bbfc073c59cb17dd68ebb6d2f9f0b3a19114ed61933e7e11a3c54c467429db4377f80e04c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b098bddb92268b44ae57412be7300a3aaded1b1f246925d3319d0a76f0ddfe0361317bb7244d16895cae8257ce6014755bda363e48d24ba6633a14ede1bbfc06c262f76e489a2d12b95d04af9cc028eab7b46c7c91a4974cc67429dbc377f80d84c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b024d0343efcedc766240753df266862a8995d7b21692777329d0a76f1ddfe035f49a0687df9db8ecc480ea7be4cd0c55132baf642d24eee653a14ede3bbfc06be1f5329a8ca19a0505ce377748fffb29d11b84882a49f80cb7429dbc877f80d7b3ea65351943340a0b9c6eee91fff653a23709105493f0196e853b790eff01af6095eff4ffec903f9405405ca365cf26ef3237e07927fa72ed0a76f22dfe035eb12bdfe9ffd9207f280a80b946cb9e4dde646fc0f24ff4e5da14ede45bfc06bd6257bfd3ffb240fe501501728d973c9bbcc8df81e49fe9cbb429dbc8b7f80d7ac4af7fa7ff6481fca02a02e51b2e79377991bf03c93fd3976853b7916ff01af5822024dacc2f2c24bd206849b5c2d4ee9de7a3c7627fc16ee0a76f22efe035eaf44049b5985e58497a40d0936b85a9dd3bcf478ec4ff82ddc14ede45dfc06bd5e141b8f5fe22d8be714e03a65671363a2262b4dd59ff1ffb929dbc8bcf80d7abb28371ebfc45b17ce29c074cace26c7444c569bab3fe3ff7253b79179f01af576506e3d7f88b62f9c5380e9959c4d8e8898ad37567fc7fee4a76f22f3e035eaec2ceed3abe7cee1f073c7fb232ef9450bdd9ccaa9ff91a1ca4ede45e8c06bd5d759dda757cf9dc3e0e78ff6465df28a17bb399553ff2343949dbc8bd180d7abae3fcda75c759e0a799be61484b2433c2a22b586a4fe482b2a3b7917a401af575b0bada765c19e97ab049251015ae4a04ef1ad6946fc91fa5576f22f49035eaeb5175b4ecb833d2f560924a202b5c9409de35ad28df923f4aaede45e9206bd5d6a2eb69d97067a5eac124944056b92813bc6b5a51bf247e955dbc8bd240d7abad45d6d3b2e0cf4bd582492880ad72502778d6b4a37e48fd2abb7917a481af575a846eccf08f04bfd6815eb380da4a82ce9c718f06cc92149586f22f49135eaeb4f19ebf6beb6fa7d87f89c98133fae81ce3a743cd6924436b1de45e9236bd5d69d33d7ed7d6df4fb0ff13930267f5d039c74e879ad24886d63bc8bd246d7abad3a67afdafadbe9f61fe272604cfeba0738e9d0f35a4910dac77917a48daf575a745b720ea28e366ef791aae891f3d2366c7fe442b19223598ff22f491c5eaeb4e742f675f1f2cf60a6f01bf91bde0294d3ac0ae16024485720e45e9239bd5d69cd11ff4490bc014405acfe1a2fb26351a204581ebd48925242c8bd24747abad39923fe89217802880b59fc345f64c6a34408b03d7a9124a485917a48e8f575a73247fd1242f0051016b3f868bec98d468811607af52249490b22f491d1eaeb4e641c0c7d32b66ca2e534b6f9758978b50acf0351e74494361745e923a4d5d69cc73818fa656cd945ca696df2eb12f16a159e06a3ce89286c2e8bd24749abad398e7031f4cad9b28b94d2dbe5d625e2d42b3c0d479d1250d85d17a48e93575a731c6c76424289c799e1727df3a44223d051245ceb3724a354bb2f491d27aeb4e63764fedd31e9f1b67ab1c20f407aa5c89cf4fc326b49484d775e923a505d69cc6d56101310aa45efad304a4678eba9b934963ac0d392923eefbd2474a1bad398d938327ece2aee62122d5ab4e9cdb19a63d8b7dda4252621e07a48e94475a731b17064fd9c55dcc4245ab569d39b6334c7b16fbb484a4c43c0f491d288eb4e63626cdc53e5821c0b008230fb9f2d24918a0f21d28d949a2b82e923a512d69cc6c365cb0077da9a98b8d1281f3650a74b0eca8601182935fb06d2474a26ad398d8557a8599c8b97b4296f16666497acbe18414e5e2d526d9a0ea48e944e5a731b093b630be5ed91eb0aaaf2f4c125b7a42b2edf1857a4dcd81e491d289db4e6361102d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420b61c1e2c61963348ab045e90735c144280232b126ed50f648e944f1a731b08416c383c58c32c66915608bd20e6b8288500465624ddaa1ec91d289e34e6361082d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420422e76d937f8b60077ca868869ba3c3d2c65870f6ed6b3658e944f1b731b083f106f465f4653eeb8bc5b3508c9d2a075050d6a1bddaf0acc1d289e37e636107d20de8cbe8ca7dd7178b66a1193a540ea0a1ad437bb5e15983a513c6fcc6c20fa41bd197d194fbae2f16cd423274a81d41435a86f76bc2b3074a278df98d841f40f8c8ba70901f87daf9fd03e44f32ba2d4adacdbed79fa61e944f1c031b083e71f19174e1203f0fb5f3fa07c89e65745a95b59b7daf3f4c3d289e380636107ce3e322e9c2407e1f6be7f40f913ccae8b52b6b36fb5e7e987a513c700c6c20f9c0876b5e51e7246a549c4a9ea1df7851151afc2dc6bd177104a278e028d841f3710ed6bca3ce48d4a938953d43bef0a22a35f85b8d7a2ee20944f1c051b083e6e21dad79479c91a952712a7a877de144546bf0b71af45dc41289e380a36107cdc43b5af28f392352a4e254f50efbc288a8d7e16e35e8bb882513c70146c20f9b8137db6febd86ed0c6910c699d5d6790fc73e89c3bd191505a278e029d841f36f26fb6dfd7b0dda18d2218d33abacf21f8e7d13877a322a0b44f1c053b083e6de4df6dbfaf61bb431a4431a675759e43f1cfa270ef464541689e380a76107cdbc280010a2c299eb1b154c5cc6a511f078e636aa1ae8ca4c2e13c7014fc20f9b77500021458533d6362a98b98d4a23e0f1cc6d5435d194985c278e029f841f36ee2c129b37e0ca2f2421f79b128aa5e9de451d0468a32ad4b94f1c0540083e6ddb5825366fc1945e4843ef3625154bd3bc8a3a08d14655a9729e380a80107cdbb63c5cc58c598b3f4854a4944220f5cf73c0b66d9f8cacf6e63c70150120f9b76b04cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50997c78b12f20290ec1ea0f870938dc45b5e6e7832b7239af1c0540683e6ddaa132f8f1625e40521d83d41f0e1271b88b6bcdcf0656e4735e380a80d07cdbb54265f1e2c4bc80a43b07a83e1c24e37116d79b9e0cadc8e6bc701501a0f9b76a84cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50258ed15e0582abc68eb0377eff970440622943802b73ddb01c0540693e6dda9f4b1da2bc0b05578d1d606efdff2e0880c452870056e7bb60380a80d27cdbb53e224d9e24ec6d31d2078705f3f4ba38fc34e769fdadd11ac1701501a5f9b76a7b449b3c49d8da63a40f0e0be7e97471f869ced3fb5ba23582e02a034bf36ed4f61548d140881749ffeae23fc7c9470beb7fe003f3b7460f06c0540698e6dda9eb2a91a281102e93ffd5c47f8f928e17d6ffc007e76e8c1e0d80a80d31cdbb53d655234502205d27ffab88ff1f251c2fadff800fcedd183c1b01501a639b76a7ac3658e2b1171cd2b723d8263640968756ab427b9aba321c3702a034c836ed4f576cb1c5622e39a56e47b04c6c812d0ead5684f7357464386e054069906dda9eae6575e37132d5cd945c26c0d0f8b84555594c4a67e8ca14dd0a80d321dbb53d5b56fe1f8f3c0e1de08513a999e7ceb2a55edaf0ccd195cdbb1501a644b76a7ab53a0e97cb4e7ebe78d6ed7b2bc5fb8d4569f83d96a32d3f772a034c8a6ed4f569002f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a2004a33667a566128a2513f66014b683dfb779f0516708d61511a645777a7ab43ff207925a18324d3fc6f44f3fa8d2ea3f19b806629e11c66a334c8aef04f5687fd40f24b430649a7f8de89e7f51a5d47e33700cc53c238cd4669915de09ead0ffa0df6ef32e2f5d2a989d9f7e22b18b7c11a43f4a484733e8dd322bbc23d5a1ff31bedde65c5eba55313b3efc456316f823487e94908e67d1ba64577847ab43fe637dbbccb8bd74aa62767df88ac62df04690fd29211ccfa374c8aef08f5687fcc6fb7799717ae954c4ecfbf1158c5be08d21fa5242399f46e9915de11ead0ff986b814bdb05bfad506a65a61aa7e9a40c5081a64547358cde322bbc24d5a1ff2f6314f062e1e1dd58a191742d463170134d45a8878e6cbdbd6457784aab43fe5d523c39729a263d690fe9105282c1082146cdad0c1cdb1f7bc8aef0965687fcb9308acb920aaefd89ec98489cfbe0383d39ddb61539b7e2f8915de12dad0ff97161159724155dfb13d9309139f7c0707a73bb6c2a736fc5f122bbc25b5a1ff2e24e3d86f5011e78df7f274a6be5df08ef93b93451e6e12fe3457784b7b43fe5c3288d6696d89f7476cb14bccfc21c39d9d3b4c4a0cdc403c78aef0970687fcb85511acd2db13ee8ed9629799f843873b3a76989419b88078f15de12e0d0ff970a2e47f30838e05492f9191b36fecf0f61fb156e803711b31f2bbc25c2a1ff2e135c8fe61071c0a925f232366dfd9e1ec3f62add006e23663e57784b8543fe5c26453224cdb9e3d503b12a94d3f19a6582989815fddc48707daef0970b87fcb84b1676a2484a2a2cbf2f1b519fd992f2ffdd7287f8b89284fc5de12e180ff970952ced44909454597e5e36a33fb325e5ffbae50ff1712509f8bbc25c301ff2e12a59da892128a8b2fcbc6d467f664bcbff75ca1fe2e24a13f17784b8603fe5c2543fc76aef27b3e8b145a0b4f6c2f5bff997d69bc2c495cbe3ef0970c17fcb84a70ba12e8b25ca541a580791e57c49a7eddbef9382892d3bc8de12e183ff97094d17425d164b94a834b00f23caf8934fdbb7df2705125a7791bc25c307ff2e129a2e84ba2c97295069601e4795f1269fb76fbe4e0a24b4ef23784b860ffe5c25345d0974592e52a0d2c03c8f2be24d3f6edf7c9c144969de46f0970c1ffcb84a684625415f3307c45d4d3f464fbaf8a6d86b3b942592d5608ee12e1840f97094cf185cdb6b3c720b726744b4976c4f75ab82b9844825ac651ec25c3082f2e1299d30b9b6d678e416e4ce89692ed89eeb57057308904b58ca3d84b86105e5c2533a61736dacf1c82dc99d12d25db13dd6ae0ae6112096b1947b0970c20bcb84a6744ef93406b9f2de4b06ebccb358d9d556c20e7e3e2d64ccf712e1841897094ce72a04c0ba4a483f4dda9dc15ea811d2a8305f58795acb3def25c308322e1299cd5409817494907e9bb53b82bd5023a55060beb0f2b5967bde4b8610645c25339a34255b95ff837fef373d2d7296a5729b6dbfbde26b2e9bbd970c20c9b84a6733684ab72bff06ffde6e7a5ae52d4ae536db7f7bc4d65d377b2e1841937094ce665ca7c704d4708274a9baddc250f3f26863415386acbc12f75c308327e1299ccb4561e6b67f4387a1203be37c98460ccb72c5030a5979c9efb8610650c253399516d62619d4e991fa0d3deef126ea419191cc6211b2f537e070c20ca284a673292dac4c33a9d323f41a7bdde24dd483232398c42365ea6fc0e1841945094ce6525b58986753a647e834f7bbc49ba9064647318846cbd4df81c308328a1299cca442c3897b7daf128836b59f812db034873aa56c8a97ab6304861065152533994711996ba3d1c0a7c83a3166fa51be9109218d35122f586a0a0c20ca2b4a67328d2332d747a3814f907462cdf4a37d2212431a6a245eb0d4141841945694ce651a4665ae8f47029f20e8c59be946fa44248634d448bd61a828308328ad299cca3418ddb5cb6467c0f99e515fca8452b043b8ac048e7ac4f4516106515b5339946731bb6b96c8cf81f33ca2bf9508a560877158091cf589e8a2c20ca2b6a67328ce6376d72d919f03e679457f2a114ac10ee2b01239eb13d1458419456d4ce6519c53000707f9a08a84bf51264c18f3aa1871a28070d629468c08328adb99cca337321266bcc9a397c14b68749028457c2b8f875cdeac543119106515b83399466d6424cd7993472f8296d0e920508af8571f0eb9bd58a8623220ca2b7067328cda545bf39ffcf0e1bcfa67fa38977418a8ea5fcf77b1526865419456e1ce6519b334ca3fecd0444631c1961c692546594c8101faec62a674cb8328adc49cca336569947fd9a0888c63832c38d24a8cb2990203f5d8c54ce99706515b89399466ca5f3b586017739b7ed31e999c8b778d2cb04a47ae8a9b772f0ca2b7137328cd934a89096d0549b9b573035b310d4d42540cd6eb5a1538925f19456e27e6519b2521246b86e0f5f622b2ccde5a10f8aca2c5f032b12a72c8bf328adc50cca336494248d70dc1ebec456599bcb421f159458be0656254e5917e6515b8a199466c9210a406c85a3a5b4297f9a1603a40da85c40326c1a9ccc6fdca2b7144328cd92321480d90b474b6852ff342c07481b50b88064d8353998dfb9456e2886519b24642901b2168e96d0a5fe68580e9036a17100c9b06a7331bf728adc510ca33648c11328eefa8355ccc8c9332f9c864fc28cc5b920a4e67dbef515b8a229466c91722651ddf506ab999192665f390c9f85198b724149ccfb7dea2b7144528cd922e44ca3bbea0d57332324ccbe72193f0a3316e4829399f6fbd456e288a519b245c15a6d02a180d691c315fbfc6398609410f1eec4f7340837b8adc5115a33648b72b4da054301ad23862bf7f8c730c12821e3dd89ee68106f715b8a22b466c916e569b40a86035a470c57eff18e61825043c7bb13dcd020dee2b7144568cd922dc3948d9fd96cdcb9957c42629c28e72032539be789a05bfdd56e288ae19b245b77291b3fb2d9b9732af884c53851ce4064a737cf1340b7fbaadc5115c33648b6e7135c0a33199b11d2bd6c09f0097f007412955df6818a3765b8a22b966c916db6e7dd9f33995e4f22473a935f78e08092e9507bbd032eaedb7144573cd922db5690e0c93498e4c9c15ad7a63e57a380d096c6b74a06779dc6e288ae89b245b695e2e71d3697f1beff8211cbfc1529814bf1b32e640d097b9dc5115d23648b6d1486f3c53a960ba97bd086177790358242a78c1c981a2d374b8a22ba56c916da11cf0d1542923f7e746d6eae6e864d8430133df9003474aea7144574bd922db4139e1a2a85247efce8dadd5cdd0c9b0860267bf20068e95d4e288ae97b245b68273c34550a48fdf9d1b5bab9ba193610c04cf7e400d1d2ba9c5115d2f648b6d047398e34e1f8241f2037d7f2f3984ea12b5e1587d1a3bfb548a22ba5fc916da0773441f491567069bd3c126566967fc2018050cf734799aaa144574c0922db40d729a973f01308fef744874a4c92e203adc4c75eb68f4d955288ae982245b68197147872ad8c3a296b557114188ba687064db47d3d1eb56ab5115d30548b6d0316ea1670287e9c7e537744a7b07d2f8db75f8eba4a3d85157a22ba60b916da061695526b1e63612823baebcee060419b19834334647b246b044574c1822db40c15ebca610a2cea7bc4423a1d402665b5ddcaac2898f66316188ae983145b68181498ba4ce1bffd230550d6b9ffb2adeb66597e1101ece06c4115d30638b6d03011f29a2490e62271876e0ff37ecb3e56777721e1d3d9db18922ba60c816da06013e5344921cc44e30edc1fe6fd967caceeee43c3a7b3b63124574c1902db40c0208b8e1d10feb1f19a84a24d7a92dbd988a0ad471f6786a258ae983215b6818031171c3a21fd63e33509449af525b7b311415a8e3ecf0d44b15d30642b6d0300622e387443fac7c66a128935ea4b6f662282b51c7d9e1a8962ba60c856da0600c45c70e887f58f8cd425126bd496decc45056a38fb3c3512c574c190adb40c01817a075bdd514745251687572893a01834cefa31c67884659ae983216b681802f2f40eb7baa28e8a4a2d0eae51274030699df4638cf108cb35d30642d6d03005e5e81d6f75451d14945a1d5ca24e8060d33be8c719e211966ba60c85ada0600bc4916069b7f06254a5809d38c402e341513bf74e03c43d6ce74c190b6b40c01771e3e65e3d46ecd4c7cd9cf1076ba9024d3c145bd7889519de983216e681802ed3c7ccbc7a8dd9a98f9b39e20ed752049a7828b7af112a33bd30642dcd03005da050bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb30a17e078503b6fd3805ac873a290d11bf68ee5e5c44dd4f14c190b7540c01766142fc0f0a076dfa700b590e74521a237ed1dcbcb889ba9e2983216ea81802ecc285f81e140edbf4e016b21ce8a43446fda3b9797113753c530642dd503005d9850bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb302d906031da197fefd272af321f6b39ba1530ba5944def315c190b7550c01765f5b20c063b432ffdfa4e55e643ed673742a6174b289bde62b83216eaa1802ecbe4253d9743ec882771690e4c0740b0ee301054562137d70580642dd553005d97b10ba0b9553f387a5f9e7f178de7445c0ae4ce6c126fc84b10c85baab600bb2f52174172aa7e70f4bf3cfe2f1bce88b815c99cd824df90962190b7556c01765ea42e82e554fce1e97e79fc5e379d11702b9339b049bf212c43216eaad802ecbd411e2b55775febfe79c05b3beea0056001ea9920637e5c989642dd55c005d97a723c56aaeebfd7fcf380b677dd400ac003d53240c6fcb9312c85baab800bb2f4e478ad55dd7faff9e7016cefba80158007aa64818df97262590b7557001765e9c1b280368865881f4acf3c5ef4660d7fba18eec2ebf2ff04c216eaae102ecbd37365006d10cb103e959e78bde8cc1aff7431dd85d7e5fe09842dd55c205d97a6e6ca00da2196207d2b3cf17bd19835fee863bb0bafcbfc13085baab840bb2f4dc655273f10926925d346457722964e7d7b8b9bd72f98126620b7557091765e9b756b7408ee8afa772358ed6dc4927f7aa1db5d6e2f303f0c516eaae132ecbd36d3980d9caa7c1d19c37e3d5b088ae174ee7ae09c2e609858b2dd55c275d97a6d97301b3954f83a3386fc7ab61115c2e9dcf5c1385cc130b165baab84ebb2f4db27215bfd77569c928ac557eba191685364afa83089827ba2db755709e765e9b63703dd85bc13615092571256c288b32674237620e3051185c6eaae13decbd36c56c8e096458ceacca17a872d047748cc930b1201960a3d4b9dd55c27cd97a6d89652e6b7587ffdc4bfc170d988547418d0da49c2fc1494d74baab84fab2f4db11566f2f97e6623b4fc4f4432900ecab14c78b945c82943eea755709f665e9b62138f0b7dca326f95756aeae49f8377e243b5984b6052a21d5eaae13edcbd36c4171e16fb9464df2aead5d5c93f06efc4876b3096c0a5443abd55c27db97a6d8826fd5381f62fe68152780e11fd73c208b99a86ed514aa2b58aab84fb82f4db1036bbcc8eb9c5f52e21bc7ea37a4d66911df9339a72955fab255709f715e9b6205638bea840f21287c0455fc67400afa1e6b68cf4b52ad9965aae13ee3bd36c409532a2db4f4a4d3afd57220c676741c378313fa93a55cd6cc55c27dc87a6d88113266b416bfac2a1777aa6984e3466069b26a51244abb5199ab84fb91f4db102164cd682d7f58542eef54d309c68cc0d364d4a2489576a3335709f723e9b6204255ad2907d5132b15ab6fce0b8377a9a175eba08e2aeeea67ae13ee48d36c4083376caabc8088d8e323a5c40efd4d7b3d98199d1955df78d05c27dc92a6d881056ed955790111b1c6474b881dfa9af67b30333a32abbef1a0b84fb9254db1020a69c5039ed885e6445b5d3833eb9414f10ca8d062577f8742709f724b9b6204135f9c5fea876e4f408380985fcd8651dcc593fcc1af00b285e13ee49836c408254b4b1881e53f2138d3c758b7916acbb4376a55805e03090cc27dc9316d88104922a889b0a0e0c5297454d9671933bf631b1706fdbc07b61a84fb9263db1020914551136141c18a52e8a9b2ce32677ec6362e0dfb780f6c3509f724c7b620412216b47f6f59e5975d9e198d945b2d2587189e77f3f0207c6b13ee49906c4082432d68fedeb3cb2ebb3c331b28b65a4b0e313cefe7e040f8d627dc9320d88104865ad1fdbd67965d76786636516cb4961c6279dfcfc081f1ac4fb92641b102090c41b65427a58f3da4bd92949acfc7543371361b9c810587599f724c84620412170f7f00fc2180fe0147eb512d95ecd0618eae9336020cb2b43ee49909c408242d1efe01f84301fc028fd6a25b2bd9a0c31d5d266c041965687dc932138810485a3dfc03f08603f8051fad44b657b341863aba4cd80832cad0fb926427102090b4080a608de26a72c20c20b164a5c4ab0721b6f5ad106739a2f724c84f204121671014c11bc4d4e584184162c94b89560e436deb5a20ce7345ee49909e408242ce2029823789a9cb083082c5929712ac1c86dbd6b4419ce68bdc93213c8104859c4053046f1353961061058b252e2558390db7ad688339cd17b926427902090b380cb8618afd09aed88ed13e4252a8d86cc7b1b6ce06753e30724c84f30412166f1970c315fa135db11da27c84a551b0d98f636d9c0cea7c60e49909e608242cde32e1862bf426bb623b44f9094aa361b31ec6db3819d4f8c1c93213cc104859bc65c30c57e84d76c47689f2129546c3663d8db67033a9f183926427982090b3785798715ca6fd7040b9da0c1d20ebaec7275dc8dd6755870824c84f31412166ef3b433b66245d6339407a403238358588fafdedb7ceacb21149909e638242cddd0298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720a633de47c7524a936eaa1719b24cc3288f8ddb2756c208e4c84f32012166ee414c67bc8f8ea49526dd542e33649986511f1bb64ead8411c9909e640242cddc8298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720324636f49db4cd4b3b703f11a8aaeb233bd0372456c3ace5c84f32022166ee3f648c6de93b699a9676e07e235155d64677a06e48ad8759cb909e640442cddc7e552b347f4d35b7e4ba87243e9909d4879b83388e5b105798213cc809859bb8fb3668c1ab70cdf28141d470752871d109e348cd19b6225331427990140b3771f56cd18356e19be50283a8e0ea50e3a213c6919a336c44a66284f32028166ee3ea65b55f5a999a4cbcd417e9cc98256c2239659063d88af0c609e640512cddc7d3577d176209971c3174f5fb9126a9003f1f0d7cc4b117858d13cc80a359bb8fa53b0c8770e990bb1ab6b21f1a43b02878ea5d55866230af1b27990147b3771f49022b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d2208ad9e3aa60fe3b4e8a998b1f6f9e3b203f41c27118c08dd3cc80a419bb8fa44115b3c754c1fc769d1533163edf3c76407e8384e231811ba799014833771f48822b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d22016ec3c573760be06575fb31765fc631aeb841e6e18c231d4cc80a41abb8fa43f2dd878ae6ec17c0caebf662ecbf8c635d7083cdc318463a999014835771f487e5bb0f15cdd82f8195d7ecc5d97f18c6bae1079b86308c7533202906aee3e90fc43743b66916872ea87c3c0b3264140d208634f6dc61332a7640520d6dc7d21f712facf79f933688cdc4da95e42e0a99ebd08fad88c28094fc80a41aeb8fa43ed25f59ef3f266d119b89b52bc85c1533d7a11f5b11850129f9014835d71f487da4beb3de7e4cda2337136a5790b82a67af423eb6230a0253f202906bae3e90fb423e8d47c9ffdc71eaf3372ea0d6374f0948a32c16141ee7f40520d76c7d21f6747d1a8f93ffb8e3d5e66e5d41ac6e9e129146582c283dcfe80a41aed8fa43ece1bb5aa9f56599f328993f3a02bebfbbcfe6b270285095dfe014835dc1f487d9b376b553eacb33e651327e74057d7f779fcd64e050a12bbfc02906bb83e90fb366ed6aa7d59667cca264fce80afafeef3f9ac9c0a142577f80520d7707d21f66c69bfada7892f7c4c1965c4f955be05e29f9b9411284c93f10a41aee1fa43ecd75f91b3fbe8c17b4fff91b1eaa1da33bfeb79841f509acbe314835dc4f487d9ad4b35c0a4a7e57957cbe98bcd3a128f7a8335643ba1373bc72906bb8ae90fb359227dd9f6262d756764993f926a8346efb2ad247442701b8f520d7716d21f66b144fbb3ec4c5aeacec9327f24d5068ddf655a48e884e0371ea41aee2da43ecd621609c0856f1858555f2b2641a06b43b976f6edce09c2123e4835dc5c487d9ac32c13810ade30b0aabe564c8340d68772ededdb9c1384247c906bb8b890fb358658270215bc6161557cac990681ad0ee5dbdbb738270848f920d7717121f66b0c3c605cd84f254562c61f5a04f9b845c663f9ca6d4e1235f341aee2e343ecd61704d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d09a624bae95a1afab209b803d39d670ee86be1af384c1fcf06bb8b8f0fb3585a134c4975d2b435f564137007a73ace1dd0d7c35e70983f9e0d77171e1f66b0b4269892eba5686beac826e00f4e759c3ba1af86bce1307f3c1aee2e3c3ecd61684d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d02674a45b6c043262ed61a835303498e9330076f084c3a0f16bb8b8f1fb35859f4ce948b6d80864c5dac3506a606931d26600ede1098741e2d77171e3f66b0b3e25e4ea1a86734c43824cc8ccb7308b9f784437bf131027c6aee2e3c8ecd6167b4bc9d4350ce69887049991996e61173ef0886f7e26204f8d5dc5c791d9ac2cf623a60116f02fb3c5d5f94b2ad32056788d533af94c42431bbb8b8f24b35859eb474c022de05f678babf29655a640acf11aa675f29884863777171e4966b0b3d61aaa5d08972151cf24ab54a342df81dce18f47e2310ab06fee2e3c93cd6167ab3554ba112e42a39e4956a94685bf03b9c31e8fc4621560dfdc5c79279ac2cf566aa974225c85473c92ad528d0b7e0773863d1f88c42ac1bfb8b8f24f35859eac616540f18f6d1130f220cd120d5a36e1b8bc9b0e885727807171e49f6b0b3d574edcda8ff53ca519b107c21c111295be1dbb921a10aff301e2e3c93fd6167aad29cc0dccc0dbcceb2ed5ac3018835376e7b9803121618a04c5c79280ac2cf55953981b9981b799d65dab58603106a6edcf73006242c314098b8f25015859eab233428fdfd9d1b664881cd8b8586b75d64b285cc18587cc14171e4a03b0b3d56366851fbfb3a36cc91039b170b0d6ebac9650b9830b0f98282e3c94076167aac6591c982c3da95c49ed398ad9580bff53d8e3cf031620d4515c79280fc2cf558b3e4b890551b53b4ba7393daaa67626a25e09fa032c434ca3b8f25020859eab1508a96ab779ccf94f1b38a34d434a753f6856500358883d4871e4a0420b3d56291152d56ef399f29e3671469a8694ea7ed0aca006b1107a90e3c94084167aac5222a5aadde733e53c6ce28d350d29d4fda159400d6220f521c79281082cf558a4454b55bbce67ca78d9c51a6a1a53a9fb42b2801ac441ea438f25021059eab14816a90424733217a980505ccc2b057bf131a75c32888578881e4a0421b3d5628f2d520848e6642f5300a0b998560af7e2634eb865110af1103c94084367aac51e5aa41091ccc85ea601417330ac15efc4c69d70ca2215e22079281086cf558a3c415a79d06ff34003cf490e594e8a0784397d3d91442d6841f250210e9eab14770ec74c4db64902bf6b5844aa937237031f3cd71f885c7484e4a0421e3d5628ed1d8e989b6c92057ed6b0895526e46e063e79ae3f10b8e909c940843c7aac51da3b1d3136d9240afdad6112aa4dc8dc0c7cf35c7e2171d21392810878f558a3b4024cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece0932ec6a22aa62cc9e21353247bf804e98a453e50b9520a0940843cbaac51d9c1265d8d44554c5993c426a648f7f009d3148a7ca172a414128108797558a3b3824cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece01f411f4f0108af81aed97b1c72562ce436879a4db953ae0a40843cbbac51d9bf3e823e9e02115f035db2f638e4ac59c86d0f349b72a75c148108797758a3b37e0916d5e8da8540be882c1469bfb6db8b8660c533e5505c2a0210f2efb14766fb122dabd1b50a817d105828d37f6db7170cc18a67caa0b8540421e5df628ecdf6245b57a36a1502fa20b051a6fedb6e2e198314cf954170a80843cbbec51d9bec48b6af46d42a05f44160a34dfdb6dc5c3306299f2a82e1501087977d8a3b37d81d7fb73a7eb68ea04f876e93f1cbe0b3124eaf3b550766a1210f2efc14766faf3aff6e74fd6d1d409f0edd27e397c166249d5e76aa0ecd42421e5df828ecdf5e02113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760844d65b44f2f4e42b8f891ef636ab1bd5f463a9507cfa1610f2efc54766faec1089acb689e5e9c8571f123dec6d5637abe8c752a0f9f42c21e5df8a8ecdf5d82113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760105fbe612591d0fa85beb9e759c8d9b80b88969207d145620f2efc55766faebf20bf7cc24b23a1f50b7d73ceb391b37017112d240fa28ac41e5df8aaecdf5d7e417ef984964743ea16fae79d672366e02e225a481f4515883cbbf155d9bebafc0f104bb602f10a8bfabbf732c4a4f5bb0887108d3e8bcf117977e2acb37d75f71e20976c05e21517f577ee658949eb76110e211a7d179e22f2efc55966faebee3c412ed80bc42a2feaefdccb1293d6ec221c4234fa2f3c45e5df8ab2cdf5d7dc0494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb709296cb9dbd5ae2f454bc31c370baba5e0f5c0cde8c03919977e2acd37d75f6e1252d973b7ab5c5e8a9786386e17574bc1eb819bd18072332efc559a6faebedc24a5b2e76f56b8bd152f0c70dc2eae9783d70337a300e4665df8ab34df5d7db8494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb701ea9244a93bd65ac218259bb6718e258bb9e68db8c05359a77e2acd47d75f6df3d524895277acb584304b376ce31c4b1773cd1b7180a6b34efc559a8faebedbe06b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b0d6dd3ae4ab032d0a59f1dcb258362bb3577fed6602cf4d5bf1566a5ebafb6f61adba75c956065a14b3e3b964b06c5766aeffdacc059e9ab7e2acd4bd75f6dec35b74eb92ac0cb42967c772c960d8aecd5dffb5980b3d356fc559a97aebedbd86b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b062ef93918165afc226b804aa4e9453ae03c2496302d0f15cf1566a5fbafb6f5f51f17fcfd92de23c1a36314c9386cf56b3c6eec305a386bae2acd4c075f6debd2ff5584c88be473001328a911d6bc6a813d039830b48b176c559a981ebedbd795feab099117c8e60026515223ad78d5027a07306169162ed8ab35303d7db7af24be7b9def95b9f77d190523c6c0d429afb8342092d2469dc1566a608afb6f5e323e1cc6ac919c1a76fe6cc70ce78ad30a348e00f5a4a77b92acd4c125f6debc547c398d59233834edfcd98e19cf15a614691c01eb494ef72559a9824bedbd78a1b998a57fac989558c6159bb3040dcbd3965dc3a692b82e5ab35304a7db7af13373314aff59312ab18c2b3766081b97a72cbb874d25705cb566a6094fb6f5e266e66295feb262556318566ecc10372f4e59770e9a4ae0b96acd4c129f6debc4c68deab6cacaecd642fd0f5d178650de477713dd0495dbb2e59a98254edbd78975dcfaf862fc01d802c68139ae72843c39b24d79d92bd1a5db35304aadb7af12d47b1b7b935e2bdb825964f2dc4aeaf81e28c0b38257bd8bc66a60956b6f5e2591b75c81f4227fe2817f2c6537fbb86fe715a726d4af95579cd4c12ae6debc4b136eb903e844ffc502fe58ca6ff770dfce2b4e4da95f2aaf39a98255cdbd789626dd7207d089ff8a05fcb194dfeee1bf9c569c9b52be555e735304ab9b7af12c467c099a6e7a273f88c5c5a93f43a5fee3715ef6757cc4fcf6a6095746f5e25875b938bfaa5a76aa8e57edd1fded2e7d71a6e3acbaf9a439fd4c12ae9debc4b0d433970a221b1580997c3e237b403f7a8e11ed1945f362b40a98255d4bd789619128539f119c532cafc4dec675e66174c6e7fff25be6dfa825304abaa7af12c31250a73e2338a6595f89bd8cebccc2e98dcfffe4b7cdbf504a6095754f5e258624a14e7c46714cb2bf137b19d79985d31b9fffc96f9b7ea094c12aea9ebc4b0c4203c2835a48c190faf358b32e98ee25e2042552af371781398255d54d78961874078506b4918321f5e6b1665d31dc4bc4084aa55e6e2f027304abaa9af12c30e0d02f9836892e6f6899c54c39c99b1732d4bb0a8cdc7844f609575545e25861b1a05f306d125cded1338a987393362e65a9761519b8f089ec12aeaa8bc4b0c36340be60da24b9bda2671530e7266c5ccb52ec2a3371e113d8255d5517896186c6817cc1b449737b44ce2a61ce4cd8b996a5d85466e3c227b04abaaa2f12c30d85c41f0e35f90f220668b7431bff93f2d80fd6689dc79e8f709575546e25861af44963a73958466f899dd105b7650a655ae3d2910b8f575ef12aeaa8ec4b0c35d153ecd94016b50a9008048aee2ff74a608bcae1e71ec8fdf255d551e896186b92a7d9b2802d6a1520100915dc5fee94c11795c3ce3d91fbe4abaaa3d12c30d7254fb365005ad42a4020122bb8bfdd29822f2b879c7b23f7c9575547a25861ae43608c54ce1bd07ffd0c86d6f0e59cd2af227ccf08f6622fa2aeaa8f54b0c35c76c118a99c37a0fffa190dade1cb39a55e44f99e11ecc45f455d551ea96186b8e64356de05d56a2b70fe7ddb42fc55ca674e18fbf3d9a2fe9abaaa3d62c30d71b547d346d910fc825ec95e36055e8e14796057b7b7b3603d4575547ad5861ae35350cc187f8821303a5f1eeb8a22fea89d84d52f3f66daba9aeaa8f5bb0c35c696a19830ff10426074be3dd71445fd513b09aa5e7ecdb57535d551eb76186b8d260455eccb86acec6648de2da7f1dd2220d77a7ccd9b852a7baaa3d6fc30d71a34c9d16464738204495e1edacf499cc3ec731ab96b372495075547ae0861ae345254c853964d2c340f88a0351df91c0783aa5b32a66e636a1eaa8f5c20c35c6894a990a72c9a58681f11406a3bf2380f0754b6654cdcc6d43d551eb84186b8d1221446d9269ad8fbbaeee353f74a529db96d928a69b9a7e88aaa3d70930d71a234288db24d35b1f775ddc6a7ee94a53b72db2514d3734fd115547ae1261ae344611240ef67d18c1a6887efcf5c8f2cf6907a6fe976e6b9e23aa8f5c25c35c688b22481decfa31834d10fdf9eb91e59ed20f4dfd2edcd73c47551eb84b86b8d11644903bd9f463069a21fbf3d723cb3da41e9bfa5db9ae788eaa3d70970d71a22c1532d060bf288fec10be0fa63df4a342e97a50b8735e951e547ae12f1ae344572a65a0c17e511fd8217c1f4c7be94685d2f4a170e6bd2a3ca8f5c25e35c688ae54cb4182fca23fb042f83e98f7d28d0ba5e942e1cd7a547951eb84bc6b8d115c35a8dbb2cfa7021852b6a529e6034211f814e1c09af64cf3a3d70979d71a22b76b51b7659f4e0430a56d4a53cc068423f029c38135ec99e747ae12f3ae34456e62b5c77814fe8b1917a0bc9f8e6b30428c95e2ff6bdad7cf8f5c25e85c688adb517de79d005f98e9fc07a1371334887fc56e21fbd7b753a01eb84bd1b8d115b52f0e27e6d721b48bc4d56a661cc738fa371e9ff4af704b413d7097a471a22b695e1c4fcdae43691789aad4cc398e71f46e3d3fe95ee096827ae12f48e34456d2484af84832e954e6e01bd190697b0be388bcdbcfbdc2d105f5c25e92c688ada31ca8493d3c352c858cfdcb18c9543fc1bdbc139c7b87460ceb84bd268d115b453950927a786a590b19fb963192a87f837b782738f70e8c19d7097a4d1a22b68a72a124f4f0d4b21633f72c632550ff06f6f04e71ee1d1833ae12f49a34456d147154a296b80be6e434b480be410026089a22f8e0dc3bd4685c25e935688ada276ebb9dda467a5080362f2974785e740be0884dbeb8794cd1b84bd26bd115b44d69899461635723b839247ae0e71b10126d52f77a70f43da47097a4d8a22b68995f25816f9d10ca283f0f1db9c494481f86e84af1e1ea1f49e12f49b24456d1314a5d5b8c108417084ae4636b7f86b839ba12f1e0c3d5e294c25e936588ada26120cd0fc4f76ab0c8628eeecef56b986e20683fbe87ad692a84bd26cc115b44c1419a1f89eed56190c51ddd9dead730dc40d07f7d0f5ad255097a4d9822b689820f4697c0b40d45d95701e333cc0c89b32de35af71eb748ab12f49b31456d13031e8d2f81681a8bb2ae03c667981913665bc6b5ee3d6e915625e936628ada26063d1a5f02d03517655c078ccf303226ccb78d6bdc7add22ac4bd26cc515b44c0c064716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b6898170c8e2d64ed99630509aa832cad84eb2836ba676beb77d2b32f49b31656d1302e191c5ac9db32c60a135506595b09d6506d74ced7d6efa5665e93662cada2605c3238b593b6658c1426aa0cb2b613aca0dae99dafaddf4accbd26cc595b44c0b864716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b689817054f52efbaff8b308676e5ac2ceacda7e17e8d2bbb77ecf33f49b31666d1302df35fcb6a43653e8c89ba2dd7d93b7dcf6dc1401746eff4268e93662cdda2605bd6bf96d486ca7d1913745bafb276fb9edb82802e8ddfe84d1d26cc59bb44c0b7a6405333dafb225da3b519dee453d9bd61c9261cebbfeada4a4d98b38689816f3541cbf2835c6ce6c436963d480d95fa6e5671f9a77feff4a49b31671d1302de5344bd6fd41f01f905398efa0f810e74877109b31efffa29593662ce4a2605bc96897adfa83e03f20a731df41f021ce90ee213663dfff452b26cc59c944c0b7925d41b4a1de2300f91b29e67bd6a1c51c8884c8c4c0002e574d98b39389816f234695c1f092a884aa0319f4efa3a1b233bd4bed86800200af9b3167281302de45193ddc8dfbb38c0bd2fa11d73da18c6226da370a0005a5603662ce512605bc89327bb91bf7671817a5f423ae7b4318c44db46e14000b4ac06cc59ca24c0b791264f77237eece302f4be8475cf68631889b68dc2800169580d98b39449816f22456013d1cb3fee3166496b6b1e36a8b0be314144d002ecf02b316728a302de4473814d2e63e6048e495f3955bbd333e12726a8497005f4206662ce515605bc88d7029a5cc7cc091c92be72ab77a667c24e4d5092e00be840ccc59ca2ac0b7911a6c65a445cfe3a64a24947d66eb2b204475ec6e59017eac1a98b39456816f223364dda1387629cf4c15ef22c5ccb46883981b38af02fefc36316728ae02de446555cd9b1dc2b6214ff8a46d838fc6f901dc78cd5b05ff9c6d62ce515d05bc88c937ad8ee85bcec557be0f02ff15ec19fe6533f6b30c00dcdbc59ca2bb0b7911916f5b1dd0b79d8aaf7c1e05fe2bd833fcca67ed661801b9b78b39457616f223226ac8944e459d9816c50233f44e0e8ff4411236c93005177016728aed2de4464361a38149619db2e556ca8fe0927b47e32e66c98f600bd2e12ce515db5bc88c854f595b3f999de8827a5b47b91b54b7c1090fef1bc01949c359ca2bb7b79119092ac50f2c099e53bcc17cb76a2d07977cbe623a3480343787b39457706f223211558a1e58133ca77982f96ed45a0f2ef97cc4746900686f0f6728aee0de4464223726955cfcdbd1aad2b905a0aa7c85eda5cb44cf00d2821fce515dc2bc88c8436e4d2ab9f9b7a355a5720b4154f90bdb4b96899e01a5043f9ca2bb857911908668acae20c9d1c96317aa3e7aa0503fb1436f6f39034bac803945770bf223210b5d6bb4ee6a06157dfc1aa4ed36fea75d33213a6f0698fd01728aee18e446421546e9c289aa6eadb3c4fb71d2645b76b51284d0db0d339e03e515dc32c88c842919e5ddc02b3fde1f56bd0b9cbf151564d14bfdb31a68e008ca2bb8669119085133cbbb80567fbc3ead7a17397e2a2ac9a297fb6634d1c011945770cd223210a267977700acff787d5af42e72fc545593452ff6cc69a3802328aee19a446421445b4146ae306173b282ae84ddef06d32136a24995d348a447515dc33588c842874294e60937256a1cd22331b3d46bce3d1986ef28a692ec8fa2bb866c1190850d113c24bf44ad56f1710c8b5f9f35c474df503a4e4d277d2045770cd923210a192278497e895aade2e21916bf3e6b88e9bea0749c9a4efa408aee19b24642143244f092fd12b55bc5c4322d7e7cd711d37d40e939349df48115dc33648c84286415f37ea6fbcd3a43552a82f4f00c4ba1a6c42e6f693d8d032bb866ca190850c72be6fd4df79a7486aa5505e9e01897434d885cded27b1a065770cd943210a18e57cdfa9bef34e90d54aa0bd3c0312e869b10b9bda4f6340caee19b286421431c3bae4de4b4cc54d2761a3f9f76c08507e263cf7849ee0c1a5dc33651c8428637036ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da0dbbd1d8ffecb172e3ea9cdb8f7cc829c427ebb64f76f0d6ee19b292421431b41b77a3b1ffd962e5c7d539b71ef99053884fd76c9eede1addc3365248428636836ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da067cf763cd52d99e60b6ff5b0ee2aaa96eec11761f770b16fe19b292521431b3f5bb1452680bdb683e3a61359d2b37d2889c48ac0eee306e0c336524b4286367d4374e2f9d7ddefbf94124eab9bc5224bbfcb717eddc7b1c2866ca497850c6cf912fc1ea0861e6236f4eac54f2de86c922bd93efabb9107860cd949300a18d9f125f83d410c3cc46de9d58a9e5bd0d92457b27df577220f0c19b292601431b3e24bf07a82187988dbd3ab153cb7a1b248af64fbeaee441e18336524c0286367c423f34db10755946f741c527165a18c8c0b0c53d2dc89e03166ca498150c6cf8747e69b620eab28dee838a4e2cb4319181618a7a5b913c062cd949302a18d9f0e1bdf8f70f3b8d4759d3771bd8ce45a2ad873ab48722924c69b292606431b3e1b37bf1ee1e771a8eb3a6ee37b19c8b455b0e75690e452498d36524c0c86367c366f7e3dc3cee351d674ddc6f6339168ab61cead21c8a4931a6ca498190c6cf86c6b0ed43474292664b681b5e45d80f9516fdfb640914aca35d949303318d9f0d762300115beb4cf8139c993c0b1601a9d8c01c87e2297386cb292606731b3e1ad50725ad853cc21ba40594f79591e5d35c445ecf9453014da6524c0cf6367c3592cf70e5d7dfac62c4d78c6eaa89ae26634ce35ef8a61cdb5ca49819fc6cf86b159ee1cbafbf58c589af18dd55135c4cc699c6bdf14c39b6b9493033f8d9f0d623fee9222ce4d9b6902a943a298c9b1937f7b33bb2988dad8292606801b3e1ac30bef7cf272fdb989d218af3d27f18b21ab38c373531359b1524c0d01367c358517def9e4e5fb7313a4315e7a4fe31643567186e6a626b362a4981a026cf86b0a2fbdf3c9cbf6e6274862bcf49fc62c86ace30dcd4c4d66c549303404d9f0d6145f7be79397edcc4e90c579e93f8c590d59c61b9a989acd8a92606809b3e1ac284b0a27d4063e1b54ee511bca7576da155fce933231373f1624c0d01467c3584f2226a854e2deb961a9685f8ce14bdc256bdf82616270222d4981a029cf86b09d444d50a9c5bd72c352d0bf19c297b84ad7bf04c2c4e0445a930340539f0d613a14acfa0061dd683e7267a62b7b8d98905bc0658289c22cb6260680a83e1ac273",
+ "proofs": [
+ "0x86e25aa4267f8b11aded591be91fed683d2a708b7c77a910ed9e18ab6a2f976429811ea034319321eb06d99f270137f0",
+ "0xb0e21a34db02b2dc360e448c6a7315cae1c455cb234fe6c4a9d74a8ee45b8fadc1012b1b3d07912c692782cc642ad200",
+ "0xae7b2bba4d5c6e90609182319d5182c4a9bf194420cfcd88b71ca35f5c56e94849510a39afef43234562dd604657fe27",
+ "0x87aa48a6e5e3bc244c78f61d73d6c56981e691aae27976af87161d606eeb6ef530be60b4e47906b29cce6c38287e3f9a",
+ "0x80aa73320798ba8e5eb4dda65d644566baef3d8ed6b044aa9f8b2847912f48f0b6f347a2a420e7988e08d9602fb7f000",
+ "0xa51680ed2b9df881a450dec27afdfebbf413449b1add1615e91df7e4724dca791bc4840a67fdf1362e14d537c1849ea8",
+ "0xb71f1b3cd9ee0a04950f49db099260f8955f780bdb13681804b0a5c4c3f7600ed228b06bc26ef47c0cd3281229888491",
+ "0x8e199f56faf53b3e409eb337133ab166eb340e450597e36bed68bdae1903fb7dd6e94abffcc439a1f0e230eade7b4e3e",
+ "0xa493d99eef20f8ae68f21de7485b35241a04bfc869fda00433ec8d29472dd431f876a40e5452f37f54c5dcad084d1d06",
+ "0xa85b29f2f1284d8fb9dcac7ee5b2b0722c3152a0206f670d661bf05aaa958851554799a4c77ccb0d26d6afda7a777a35",
+ "0x8c8765ef425e827627772a4788fecd657e2f49b10b21b67bd045b0b7f4bc8dd16fe1f24d1165e6d17355188970d3be02",
+ "0x825f8cb054b614692fe329a99f6c796458210876b928e453e337438fc3e3ea149a0f8a748587014e7bd61fdf0c67fe53",
+ "0xb4a020ce8a9b5446e327f312bba666e7ac64b721a49d0729c7a64de70150a4b6285445e3510bb159cc3727dffdad80dc",
+ "0xadfaa120ef4beb34e3e63aafbc2e278a2298712d45da0076ea453a94424b2418b0f3e32d56f5b55f40cf4060ef0300e3",
+ "0x85739b3691d1792aea016ae28920ad0a536cedc29c7970a38312a697c2af76ecb6d6a9b1c324a92e4a474eb97fbc2e10",
+ "0x9182bd44f5eeb8b68defdec6fff4306b1e4163e936ea201511125163355d5847fcac3452896de4edf2820b651dc556f3",
+ "0xa3fb3d89a5bf575cfd441984b7c43d416f0f37f7120438d43b07907bd114d7421dd7b09bb72aa93e2a3efbeed2e463b8",
+ "0x9954d156dfb402a786659b38f97b95e20dd7e3d9863ba8c00e24e0005869f6cadfb642ff53b36aa9d177963af1a3ccb8",
+ "0x9362481e998dedf85e71e91be5a69612356f0fa6f4412c6e0135bcc5acd11c8ec293c4de7b732feb1012cc5966c66b35",
+ "0xb82561f0a3c9e27af7818876606b5fa7336b68942b0d8828785088e5ac3262af10a27c2a8173bffca5e1b2e226846fb4",
+ "0x8cca55ee5bf0cf40d203dcf638324818edc236d4362d44300e62b384ef63a60979616acc11190caeb54fcf6e7fc6dada",
+ "0x869b905cdf5f8011910a4a1f51cd807f78a99af6e7c8c49f89cfb44c0b98192815a6fabaa5f37213f7e7b328deb761f6",
+ "0x99de2955902ffbcaebe1597675971a7c2379997b1837eb108725b892190fd69ebab76579a33b6511553027d533c37a87",
+ "0xaf3a70699c8b8f56ffb9a5162fd5db927aa5181fdfb1a0f34bd3a56a1eebec2551577407d4c2dd559ef448ee43b5601e",
+ "0xa094da1fdb7087b566948b0f7b341b22789ac3b68f52f59a8f2c37aa8bc668bcc9cb2c3ec3c34b2d176c17d76910b65a",
+ "0xb6dfd926d2d34b7c18a72720e149f376bcfe0a1ce3046db3a62023b0a322631f44f0e60707b47e378d7a6d1b0a0f3b90",
+ "0x84397d78f9cdf3664cdf632be52221bd85126455f0fad51b7c16d8ce20907d208c3e525a0eceb73826ec1c2b7f0fad7e",
+ "0xb1c728e3e0800896b6ab33fe5c7bf2242387b19883e982fbb27499c6bd160c253f03249a69ba208af7141f714836d226",
+ "0xb39027b971f1a9883d0e32d5fa1b78e848c70ef303fa3a1dfa4602d1ba021b4fe09ff88952c2daff5922a5b40c5f9cf4",
+ "0xa226dac589e35af5f046bf9b5e4d5c9b20d490de45d7529d7d71767f8adf2c65a7ad0699d3e3c1bf25f6a1518107affe",
+ "0x828a0c058a389cdadff01663ea7dc13eed1ee5b0c98b578558b27479ca79b31849103d0fd037f074e4769b66f4f92d39",
+ "0xac60270bec8e7d94f50ac2ceaaf146328717144810983e47a8e2e9b56d8e222a478da5c3f9b9cbd37822141b2d153cc7",
+ "0x89130390f58756df6d968d0c5603adf16e4f91b2d1be5496c8f9fc4097b07132986ca38bbc30001523a0cab497d4686d",
+ "0x9793e67eb7497c13f29cfdc71ed41afc8dc32030e2cd9022472e19d4f546218c698d98419a4ae87dd9cf7706b8482a21",
+ "0x8874f9a46848d5125c7ec6364238517f6c4a92871af95d20df06c09296fda06d70d4d580714f0612473264b41491ca1a",
+ "0x957c13c871e1e933e4b6dcd271903c2832a1adedd9943b5ab20208974f23902cd5d042dce5f57283287c5d4aa684a5bb",
+ "0xb4485bc545f2cb2ed1dadd336cceff81f60b6bfddfcaee2552c62c55451a753087a732275ce1a255ad5e17dd4f474a53",
+ "0xa1ca4f7bdb69cee6d3b1606a1039b1153e2f337aa1c9d9159c5837421b60d6d5816df853d7e626c09ca65bf3038d73fc",
+ "0x825d5addbabfd84e3e2193ecc6c404c5b98e9cc362759963e1dede1b8df1a34fad93e5d21c8ddb881532aaf1c43377df",
+ "0x88726caa7caf5e3ad676b0a19a131d8ce312706004350e822114d4a38fd460176db6b839ccc6b206d89a39a42cf421b4",
+ "0xb867bfedd4b880d7534634be08eb2bd5b123c630ff66048d14e5eb14de5598163c535b2441821cc0ab430e9cbd19edb0",
+ "0x81a16249eba683ff215056b0ef3b36f35ad94e7108fed53bd2bc41f8365b974540d93d650b5e92bb4e3574105b20f690",
+ "0xa34202c988aa23dc3b956d968d686659fc54804b81e2ea9dab17b5b34daa27c6c6b93fd7787683bd926ad9d7c0189838",
+ "0x97410ecdad067ba2c45a6bb02a600cf53ca5adf197c79a4f7d753d367615ca84a6fcf761cd22b735294da7f1436a8029",
+ "0xa65339363cdf8ec79a17798b856749576c8f227e2a01b88b68acf8681e0b0ea1d7948467f6e37b7da8e0d2a6a940ee92",
+ "0xb05c41255daff039227a868b0ea367cdc98391d15cd6c7b2283f7d6f8a34e43605df614cf54e08cb03d398bd0ee01451",
+ "0xa3b9f379860c066366a25eb19e4eebc07d7c0aaedf604e119c58e922cb415e01d1a4a6c7aa31d298b185ba17eed0d386",
+ "0xb1e233985ca29d71672924b59f128533ccc18c0a4277848922bce2a2192724e49c3eb092acda033982da73390deb8386",
+ "0x994b88ae88c4258609131215527d8627d78e0cac281154a078480f82c23c53b3af85edde00e91e28586f0344653b0e07",
+ "0x8d7c5faffb81b211d8e5b5504813cba99112a2c7ffb98354590c3751512aebfb6766f0a31470b9a3a3ad437eb63daf6b",
+ "0x92f884d9aaace95a7245f9e9e4d2b13583ee9d2a1319ab1144e7f7609043825b6c90e11b28e3231e894294abe3bd9757",
+ "0x89fda17e02325a9efd7e9eeb58806a06108a9e3e8cfc88f154181b12ef86f8acd7578446f440eb9084bbfce19f5845ce",
+ "0x84e4766c08d0cc41e064d70b1eb6795794171fda12f18d1b5bed92da9be8d6942e8bd2252b62190b7ac8fa2a2463de08",
+ "0xa82bc246b1ab17b5c1c0cf4b094e6360f3c45c011b58f42ed67cf5315ee21e9240f95c6cb1575708dd6f4e2ddf910415",
+ "0xb25a0ec2b3665d6d9b6c2624ec78238a9b509bfa7e8f8dd5950215544a5dcde5eafb94bcbd808f3fa42eecf7a7cb9042",
+ "0xa26ca2b8ec55fdd008f9bcbd9544e6bb207fd7d53cc20f3c999cd172e87624e0fbcf17aa877d525728ce3b3466771f40",
+ "0x8149be780972f66e77f04d2a13e45e261ca524f8b606e89acce87b239e7271303d564061eaceff906647859d2d42e5eb",
+ "0x84b7449c4c0eeeee21faa9322ab6ca1867f5750b3a131c53a99253ced17f38952ac4354b6803992447d982f4d78c5725",
+ "0x88ff8542284eb2ab763f0f7a8575bf3e8df70486f77f2a4e0586ddbc868be3ab55b5de40266a27728f33c6a3d65ef021",
+ "0xa41974b8af2300f4bbe5a6c216a43ea843e73e1f5fbe75af4889b839ec4efe526afe135f6eab6527f6259265bcc5960c",
+ "0xa46b0c84874f8c68332f0e84a0a79faafc388fdeb042ec594ee791f404593e351c81d99250fbf89d7f546c8723d93e54",
+ "0x8941103d53775af3471041e919d2b04381c7b784bb09162d9b5769a1eaf31ef841a8d644acfec115f31aa365390bcd56",
+ "0x9407270997a076920807ddbf649989d4f23995e50737e1ec59b0f5c6872e4b00ea9cea6e0db518412c07dc9ab8cfff32",
+ "0xacf78c7277eca2556a7a02bf073e263dd76cc893ef34e2a9bf6d863d1f31380d6aa3aaf84be391b7ee67851e7e3e2a51",
+ "0xb35739e637e29da4fd97f3ab2f533d6552dc4ebee0b524acd50df904e859e277e30af51c03ea25c334cf1fdd1fe6b7ff",
+ "0xadbe185db253b31833ce4c90beae4680cb5f2aaa7e9bed5ffbf70c7802f7cd225e9bf4e1f981606ddbbd7bfd0d8d47d5",
+ "0x8760da810a8bc4a541e1510a8aee88ed68ffaeadf78f845e2ca81140baa9825b113b737e785c17466804be37a9087dd0",
+ "0xa5f7b22a49b72be48c58fac7f6fe16ce1cd460e6b099ac8332376f0848d9708f51ef5ebca969f88bafc5c0c269bfab7b",
+ "0x93fa76c091c53668ab655f95df513ca9ae396d401e87550fb8f0d12a99093837c0d56b263424145ac151d01aa508c561",
+ "0xaa98b749610a2ae84e90e439baf19941649bf6ecd95e33bb9f5869e4eab11e545f7d18819fa258b082aacdd90ff2cca8",
+ "0x943b478c84fa90232dac1489c55595d3ef58f3f5c2a251752faaf5da156da1bb904894eeacdf4738d92a77f20f47a3e7",
+ "0xb23af40d862c4737ccf4f6e5d306562a0f2630f6090eab77fbbafc467801ddcce31226c24bce3e1093f8e4a40c13f61a",
+ "0x894be76919ef1a047d420c8711d2b006bd7b74214e8793eeb72dc007ad8051750a06b06cb44567e0e9aaebfe03d7a6d8",
+ "0xb5656897119fc6fc298ae89cd6ff817aa5db9f5bc9ddfa2c38efb0f8e63e7821f29a5b5b2f9cb4ad1dba0f42166636fc",
+ "0x972a25868d4d3b197c0d1957a112859fa67a582f755d106e4376e90386ce0ecaa671236e92c23361c01d11fbed4ed009",
+ "0xa7357c970d0b930186f73e098307d3ff229fee5d7c4349797ff4fa81dbee3e03bc01228d37d9f4d7510083bf094bcc5b",
+ "0x8e0b35320d5434438d7a538d5d30212c234b1d7a6e757c8cfc0988122f01d7307635641fed9b8853d58b7a33e5a5c9bd",
+ "0x99b2b7659be9eea782d0662db7246ba6ff4926efe58d04061b39d5ed38fbfc17a195e68a879448c931e5a1d9ea07deaa",
+ "0xa185a1182223e3b8d325ea70986007697b742f3af0093bf5691aa12ab85cae941bc83f27bd6ffeb669f244011e00e85c",
+ "0xb70b9416f6b9593ace7393eb51a732a05b6e4b4a104ed1860746740ba3776f5ac7242c3bb74e07c89abc637ddfe42434",
+ "0xad88a5cf5f7c5384a219cfb4c574177cae1beb0b53ed9e3a4664425b0dadf089eb8c1fdb5cccaf53f568c7cbcbccfb7d",
+ "0xa54c98768bf964f1c70212a3c00899c915639af499a5013adf751e3d66cfa467eaea8cba94b5d18e77750ad15560b46f",
+ "0xa6bf8d0fb3423977a524325f8acde7076c17176a9ee34d0d8450f765bce1fa09a77c6c98dfba566d4c5bbe4e6051537f",
+ "0x86423129a9e19c09d3038eb463ca4400d1d0b13085b98fc5ada3eced6ade97a1aa691ba34109dc91573544fb58445d8e",
+ "0x80210e5daf4f5404cc1c7f9c06f76a1419b327f5f5535f461a71d133ca8041c76c8fb03069cb588b2481c8715ddebe0b",
+ "0xaa4d389bb1ecad854eef5991a1bd7b12c6b36db9636fa7804b2331309c6505cf0580e1a52e9c337e9713f1889ef5536e",
+ "0x8c0b9b02a47c690b61671d06acc0e392b735e66c427b2d79cee4b334af5427005e0c93f9c752baa61724a499dfba1457",
+ "0xa57bdf53fef5336958a0adb043a76d575bee2403b62782b63725312a1b63ed5b4623133c8dad9409ce8c228146ddfe46",
+ "0x98ce0ae4b80e7fb67603c1d6b131aecf14c2b9604b2976f042c5cff8ebaaa949ecda365cfdb0b610eecf92ae395f05c6",
+ "0xab41735f9a3822f8b3a8fb0d996b0a5c644d6ebb31802b9cd953b3b25ef85fe183be8ebc8b8165d41a3ced8964bc576e",
+ "0x99b63f76d140709975e97e391ecf8c6deb1d3e2fda082bb384cebc431f9d092b443f9cbecd3796d6e6cb0f44bd4fa778",
+ "0x88eeb51124121fe5417d1f95fa26d462d1f519507cc9735f60f99e172bd7cec218c391cc962e2bc6175412e3b007f405",
+ "0xa098aeb8434774ef374d8caa7e49fd05a5997994f55238521208d04b11315a6de3a41bb49a471a786b8d6fed49fb9779",
+ "0xa9107964fba3b866072373f725bdb484c754d74369bebd152cd0e5d6a90ed4ac6a9cc2475eea5cdcaaecfa645df5a8f4",
+ "0x9473d4fc231ee8b7d0b92632628cd409fa99fb45f09014b0657fd7c4572e272bfbfeb9261d3d202d560db00dced3a3ae",
+ "0xabbf636726c15d26ecdb15c926d269ad09b49f17b1245dcf5d0e2879ca2d7f35169e6e960d540644afe2df8c2ec37e9a",
+ "0x8f17d77e20c608736a6a1982029db24b85d1dde720e5c5de218fbddc762e44b02b1a265e6767a672981abc570aab2d2f",
+ "0x92b28a50b05b98c8c53d87a3a91207fe1445a81dfeed0f7dd1a4e447982fdd7f1ddd61dd3a8e93906f89de44c07323a8",
+ "0xb93f1d97f20d8c05f3893b884af69590322a2d58d26150d34c3f259a391f74f58172a2bd64839aee0465bb186fec88b7",
+ "0xa3945b0163af9aee9d180a48716b0950af084f778539ac54834b7f0359b7c905740a26a2612d25b87916fecc3f0d2d5b",
+ "0x8e8055ace63ce48067a6aa357a420af43f90bf92acf0819642d9995e77879433ed9459bdb6a9c6a04d13b04fdd5aadbc",
+ "0x96375a653966f5490dddbfabff9a1935e7142b3bd1733d2faec596b8da13cd6b612f692733386b73f38c7b3df3bc6385",
+ "0x9771793f29aa9d6739771f560798fa64859a50079d6d3dcd8af9c8b1cab281cb8f3dfa08427c2bc07859dc8b1ada4b66",
+ "0xad416f02650ddddab08b951cd11e817b5a17b2a9c738daabc279595524fd218fbd4a6d1217f1d6817f9b30ec8c8a570f",
+ "0x95fbec142a418f83b71546f9a74039c44c6e508b92b230ee27d335fd3980ac4304c40b11d7aef0844a161c15063ade2a",
+ "0xb4496464f1f32954ea8aa4e8dc51befb9610839637e71017c384128d1edf7e58a96f5bd222fdaa6e3e637525a70d7057",
+ "0x962c66d4cb46c20d58cbf1ecf9722cf5488c2ec3c60e7f62beaaffb9b3608353d55b7b60ff51fcc08c41d49079d52866",
+ "0x8a4ea659e3fc3ff10f3459d80431cf08524310c708680340fdd387b4edbc49feccc9e30a38dac3022ab754992ac8a261",
+ "0x904d9bcd5d95f09669c3d65fbd502a3207c95e20b4d03d8daa07d552dd532136f01d298b0cf63a06ae70a01bb7cc0e70",
+ "0xa0bcefc936b44761ab6ef3f9d0561fd7c1cc855ed8ffc3e332a73e8d097dff4ab6b0c1ea1d9b93611ceadfad2fb0e320",
+ "0x88c34e561a3f14f85322c39d226c8f6cfb80a76476a3b7b4af696b96898c1ef74517871bf1ef44f59ae0f561ff1fdf49",
+ "0xafaebecdfd7dc1bf000ca63fb44f417b83990581fd14c9f4104301e5fb2627a174d8c210669d35701d28b909b3e6d86d",
+ "0xb5b74e00d55316907bac4cd1785499681a6bcf1c96e380ffa769ec2b524423d85ada7db69081042b1eb848641c4b7f77",
+ "0x8ec69c81f7dff09c7d1fc2df4dc4033b71c9b0acb807e75ab325a6827f30f3bbaeafb1f924c394d11d4d9898dc89742a",
+ "0xad52b8054a2e1bf2a2dc54cad73e6b067cbd26e2d5744e5f52c4954e0b5f1b6be37c05017f2c54b72529a20be0b0935b",
+ "0xa89c96b81b6faaccc75881e7cf4b43e38f57a9e307460838b03805b67c2ea4ce63f93bafeed84e740acfeb9e26c4e456",
+ "0x91f7617ae30f94d5120f750013160afcc557b693974af5f73ddfcff4f710097fc35101452036ad858a58fa5bdcb8d5d2",
+ "0x99a86af83c6d80c6954d20e1d81c4eb7641d8cfb3096f08de08d742643d6b52494d10a9b9a331b80964d5ac631775a0f",
+ "0x858906ff0d1bb8049435918dd3edcbcd7b411ebc5b3a43b0b0feb5f9700f6187fe49fe56d815bbe8cc90db2abe50ffd8",
+ "0x9123f13d935e3e7f8f36c8d0bc2849dccd66c1c901fa2ac355ef15c0263ed5cbe837504aff243dc4bdf5857f37fb581e",
+ "0xb2aa42127d768c2b2f75a06348ecd9e6507e85e187e56e05c5b936f196bda26284dc297e3e51757613450e0b0a8bd838",
+ "0xb62b0cc41bc69077189e67d46a6c4fdd1d579d54e2d397bd8423fb2338ae1b439bf667994ff721f3eb07f7cfe7c24a84",
+ "0xa8dbbeb5cf9d40195498c30584c82087b15e9a77ce6d9ac5d9d64c97b14e20642f3a00ba5814d17dfb54554140f4ee5e",
+ "0x949b01bb91ad323059a48cb61598b94539582319de819fe7f8466db951bbff241679583f86b116832315aecb6fa84afc",
+ "0x8eebdb57fe0d9d2ff92425b2242ad8af84a0fc3227f85d691f64bb3afb38ec83a34b944dc7c34234fd4dc059199d8b6e",
+ "0x8652984af3236117a81e12a7b7d877812b992de376c9b0b2397ed72257a555c8aa523b5851b2bebdd581e36514307f4f",
+ "0x80e00be2fca9d29605932b05de490903f7e51b825322adf9ce8b34b75d8582fff75558dd5d7f2740955f893d7b064538",
+ "0xa31a83633febff3721892795974d2a4770707b4b28ddd1145489b5b1bd478f5b05ea5020b0f7c17adf6226eeb1bf3870"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadBodiesByHashV1",
+ "summary": "Given block hashes returns bodies of the corresponding execution payloads",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_getpayloadbodiesbyhashv1"
+ },
+ "params": [
+ {
+ "name": "Array of block hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution payload bodies",
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "Execution payload body object V1",
+ "type": "object",
+ "required": [
+ "transactions"
+ ],
+ "properties": {
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38004,
+ "message": "Too large request"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadBodiesByHashV1 example",
+ "params": [
+ {
+ "name": "Array of block hashes",
+ "value": [
+ "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553"
+ ]
+ }
+ ],
+ "result": {
+ "name": "Execution payload bodies",
+ "value": [
+ {
+ "transactions": [
+ "0xf865808506fc23ac00830124f8940101010101010101010101010101010101010101018031a02c4d88bfdc2f6dbf82c33d235c4e785e9fc23b2d0fc7b9d20fc5e9674f1f9d15a016d6d69b925cf26128683ab4a096e196fbb1142d6c6d4e8d3481b9bef1bd0f65",
+ "0x02f86c0701843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a039409b4e5603dd8c3cf38232348661a8e99ac518396eeaa128ec9ec2a3eb8127a06b21ab956f5f138cb44fda1a9055bd08980ea4f8040d877c00dac025608d0d95"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ {
+ "transactions": [
+ "0xf865108506fc23ac00830124f8940101010101010101010101010101010101010101018031a0d9712a3c40ae85aea4ad1bd95a0b7cc7bd805189a9e2517403b11a00a1530f81a053b53b0267a6dcfe9f9a1652307b396b3e8a65e65707a450e60c92baefdbcfbe",
+ "0x02f86c0711843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a071d36bc93c7ae8cc5c01501e51e5e97a51aa541d1a89c809a2af7eb40e9bc2cba071644230e21c075c1da08916aff5efe9f95a6f6a4f94dc217f6c1bb4a3240b29"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadBodiesByRangeV1",
+ "summary": "Given a range of block numbers returns bodies of the corresponding execution payloads",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_getpayloadbodiesbyrangev1"
+ },
+ "params": [
+ {
+ "name": "Starting block number",
+ "required": true,
+ "schema": {
+ "title": "hex encoded 64 bit unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ },
+ {
+ "name": "Number of blocks to return",
+ "required": true,
+ "schema": {
+ "title": "hex encoded 64 bit unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution payload bodies",
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "Execution payload body object V1",
+ "type": "object",
+ "required": [
+ "transactions"
+ ],
+ "properties": {
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38004,
+ "message": "Too large request"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadBodiesByRangeV1 example",
+ "params": [
+ {
+ "name": "Starting block number",
+ "value": "0x20"
+ },
+ {
+ "name": "Number of blocks to return",
+ "value": "0x2"
+ }
+ ],
+ "result": {
+ "name": "Execution payload bodies",
+ "value": [
+ {
+ "transactions": [
+ "0xf865808506fc23ac00830124f8940101010101010101010101010101010101010101018031a02c4d88bfdc2f6dbf82c33d235c4e785e9fc23b2d0fc7b9d20fc5e9674f1f9d15a016d6d69b925cf26128683ab4a096e196fbb1142d6c6d4e8d3481b9bef1bd0f65",
+ "0x02f86c0701843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a039409b4e5603dd8c3cf38232348661a8e99ac518396eeaa128ec9ec2a3eb8127a06b21ab956f5f138cb44fda1a9055bd08980ea4f8040d877c00dac025608d0d95"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ {
+ "transactions": [
+ "0xf865108506fc23ac00830124f8940101010101010101010101010101010101010101018031a0d9712a3c40ae85aea4ad1bd95a0b7cc7bd805189a9e2517403b11a00a1530f81a053b53b0267a6dcfe9f9a1652307b396b3e8a65e65707a450e60c92baefdbcfbe",
+ "0x02f86c0711843b9aca008506fc23ac00830124f89402020202020202020202020202020202020202020180c080a071d36bc93c7ae8cc5c01501e51e5e97a51aa541d1a89c809a2af7eb40e9bc2cba071644230e21c075c1da08916aff5efe9f95a6f6a4f94dc217f6c1bb4a3240b29"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV1",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#engine_getpayloadv1"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Execution payload",
+ "schema": {
+ "title": "Execution payload object V1",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV1 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000021f32cc1"
+ }
+ ],
+ "result": {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV2",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_getpayloadv2"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "type": "object",
+ "required": [
+ "executionPayload",
+ "blockValue"
+ ],
+ "properties": {
+ "executionPayload": {
+ "title": "Execution payload",
+ "oneOf": [
+ {
+ "title": "Execution payload object V1",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ {
+ "title": "Execution payload object V2",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "blockValue": {
+ "title": "Expected fee value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV2 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000038fa5dd"
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ },
+ "blockValue": "0x10a741a46278014d"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV3",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#engine_getpayloadv3"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "type": "object",
+ "required": [
+ "executionPayload",
+ "blockValue",
+ "blobsBundle",
+ "shouldOverrideBuilder"
+ ],
+ "properties": {
+ "executionPayload": {
+ "title": "Execution payload",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ },
+ "blockValue": {
+ "title": "Expected fee value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blobsBundle": {
+ "title": "Blobs bundle",
+ "type": "object",
+ "required": [
+ "commitments",
+ "proofs",
+ "blobs"
+ ],
+ "properties": {
+ "commitments": {
+ "title": "Commitments",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "proofs": {
+ "title": "Proofs",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "blobs": {
+ "title": "Blobs",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ "shouldOverrideBuilder": {
+ "title": "Should override builder flag",
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV3 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000038fa5dd"
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ ],
+ "blobs": [
+ "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18"
+ ]
+ },
+ "shouldOverrideBuilder": false
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV4",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/prague.md#engine_getpayloadv4"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "type": "object",
+ "required": [
+ "executionPayload",
+ "blockValue",
+ "blobsBundle",
+ "shouldOverrideBuilder",
+ "executionRequests"
+ ],
+ "properties": {
+ "executionPayload": {
+ "title": "Execution payload",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ },
+ "blockValue": {
+ "title": "Expected fee value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blobsBundle": {
+ "title": "Blobs bundle",
+ "type": "object",
+ "required": [
+ "commitments",
+ "proofs",
+ "blobs"
+ ],
+ "properties": {
+ "commitments": {
+ "title": "Commitments",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "proofs": {
+ "title": "Proofs",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "blobs": {
+ "title": "Blobs",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ "shouldOverrideBuilder": {
+ "title": "Should override builder flag",
+ "type": "boolean"
+ },
+ "executionRequests": {
+ "title": "Execution requests",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV4 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000038fa5dd"
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x80c5f2e1eb23939cf3600f61872e3e9964d0acafb440634e530d6139a193b889c56a0c07d737729dbe0626706fc9f25f"
+ ],
+ "blobs": [
+ "0x722662154e6d76b2b2b92e70c0cac3ccf534f9b74eb5b89819ec509083d00a503ae5c198d17634e79059c2cd735491553d22c4e09d1d9fea3ecf214565df22847267ddd7c47030f8667b61a9860b085c060c07eb215a4de991a8fed0cae3821f0ee8de64d25d2de4a710ea9fd89f8f4666fcc7451e6d69a02098bbe5d5b87c60720f6db75bcbad49fc11512930d9d97bef3f2b4bf6c8fcbc414bf61c98d6bff23ba6ab1d76e044908135e6c8720d3d8ca18be1e013c275ba9f2a5d7eef5c2b5f3868df470b4e7848f79d98cfd7381c8e38e9ddbdf213af8d3eacbdd1b7d0fea5724fa5aee5f5b819f35f8fdaffbddc2a2bb2fd21f07f24fbe11f98ebcdbf6e327257389fb0bcb43108092945312d767d4485358fd543215807db5e5e3cb3741c722f2581d15ec8d6eea7c0e7db2ab6f9b5a774be8341d32a3739d103929ce0547208b324b7b29a85552d2fc90b40f9e510680ace1447720c98002f7ef7b7fe09308ff3a8f75036c48afbb09daf42f1f36f477e64606c3322f987fb05603bc62d2171de0fcfe3090c32234a712d7f2483806f192771cd0e2ab1472efdf428f5fa72c2c5a5ca73e3f095ad763054ed2a4a8fa6a05bf3b029646c5f8b61033ed851727e7aa4d120f9817ab2420a7cbdefb67d6d1666cc00a1a37b564ceacd14c37c72e0ae06fa1a09bf6307e226d29942db1ef31c65de6a49922f8f4860ec2d8a71726f74cc29496a85a775bb29103f75247b2b34718a89010dd9371557c1ed466772087bfe3148d17f8279de1fe8387104d0e25bb36e0187b2e1d4df9df3efc52d72f896e5aae4e5371bde4571421bdd1e47b1ece2a8fadbf27f27b87d1689f4453d87d4bdc1f411bfa13789478f4b2f6203af19c7c24063e3d2663dc7a3c97d1255862ec5121e4cc733e7e6929847f32353a4bcf6897f1ff52dcc66d8c9923f0d525a22699ebbebcc80fb1f158beb8c61511698ee9fe9b40a2ddea746c7a921e8532281b46bf4ef7183597e208aff1784d79436cc69ef5bddc0db29fe2da84bce72c78b23dc94c1e76598dcd6ce8c24c0bd72cb581605c4d8a4e711efb957952f7266f9faaad1e0258462eb68de681032d3dcc3047bbf1c7f1f3337bb67d9563a7212a42a90dc93647b636540c774a680e8ae8958f386d4639fa9d61e02fa5293540f6f733de496a0548eaec3d510ee6e1ae2822d348793693e1dc38dd3e69394720adba55b6792fad47817a9ba0881572b4ecb1a91cc7fed3e2dfc51569419777270437988bb74e5eeb888d5850f9de432ebc6a201546325df68f10049d54c9672b3f5271eb5cb37a995d9ff04162a5320a480c457409b28a663ed71b2b40ad22b541b5ffddc62d08b8d4c8da62d21fa429a6d658b35432a73651ad9f9c2121e72e172dcb51ae6ee4f2bbb50c51a97ce7c742fad786e465de42cf569f543c4cc2a37942bf3455a31fcecaa6c1e2718d00478871dc9d0ddb6e984701196f49ac972a3fdd50e631e828c823a3546198efe5f8ca312e31fb2a6baf148cabd595ab8720657f8dd99b792976e6e087b711977ef17efd4e0d28d9cee48ec113c5092567248b25bcfd5bbada813642323a7fd7a76356cde8dabbbea44cde6ce1fcc1e667280e5932f0cd08b3d2399a574629e1eba98b0a0db467a6649945f8e271cfef1223006baff8511b554b9c1181d74c499e3516c03103cb6ccb1e549e9e57be80f72e392508bc624d9af47d2da2ba898fc32608a4df1a5ac4954d819e17ba938a57237c699abbde80e4a73aa42a4ca855c8108d4658b0293f09a94fe192a5c040472b56dfeeb18c3563c86f325b8305e9ab84b276811af6e07bc15aa3ed3e4781931452258d387e284a4dd23b7884b8e9f0a3ae41779a20b18607d692283a413bc4338ad9312499fcf8b17a6f28eab8ddc3151ae89805400a1096164063653267f724c8b712452cbe999386c45e54d94916e0a8017e0dadb21ad27c8059214d97d32c76fc47dbbdf528745ae9e55cc5da5ff0f9aeb46d1b79654600fa3c7df49ac723c0fc457440862b4c6138d577fb8d74ada728be3c5438f5c2c1da853305efe72a917c4dfd89735e8fa5c07c9cc4452b6844463a18781bd9accdda74b1e958e1ca7de9f49c900079ab6108670cc5519b6744ad2d105f6b0d4ec5b5ee88cee9b4e3148da1dbc9c813ad96e911faad349151d6843954d89572c17f63b83cd2def722859980a43cb112480a70af211617d8e346e961abf2f5df65136da1619e0f07247b1a8589f00e9deef61970a23edd6b96b330e54c98e0df0e602724d00368c729f09a21d1b52932276b1aff4e63d00acb3a341f16999d5a013c2454f95ced30f0d22f6c88f672ffc3e61d5223da39266f62ebae5dd75a489efeb6df0862d1172cddf0e365f75c18dbc848f6746a3ccae1684752a217409b8b57a91aa05eea272f8c96a09594956c3e5d917cd6156c096c26dbd93f9a4fa5c8a411092c0c1c63be9403f19d6c6a9a052fc4a6acf46c9fdaaf8a662591f754c309c2d5f6275e92f64b6f81649fbf5e8f05c7e72842ea62acc9b8ab8c82e49b8e96af2219b2b92722cd5a628ab14f7483f8f56261aac17e7b8bd1016a4a9616075829c20eb540672ca8d829470c0050d8f08417cdf4eb417ea0c5864e9e7cb8caca88832cb245f726d60a46004f4bf71f107330d634b86d9fa89051573ed947e7e095d8cfd677d72396912aa12b9fb8dd7d4f21dc0bb28f2d1e290476787f63fa3e4eed2469cf772cfa7451fdf19674a0100d60ffc535cda86c248de1f17c60cde104b974105ec6edc9b7e40822a96b3c7e6018e60db2493d3e53aa0cb9ca9e359940644347ae23fe53c98062e74cb991ad7e03342614f8696bbfc097b1ba768e04449dcb3298d72e50a0733a644a6c06d06e8274d90e3d9994ed7b928ae7c7efad145e2306ebf3a2f258223afe8f1d4219bf37da3670026264d4dc1d2928c1b7865bf99b036de7289286ec6abd1235ada7c4efb349d21f79ca0562ce3e931eb50d4116a4af7bf72bcf2f390341412c77cbdeba26cabab50d0576a00b313fec424ba03d4de19a372326b171e251700a72121d7fa0009e4e8c94e186a7be365ba1568d993ac16b9720764806197b2eeac2d7565783b938a6fbaba57cb60062b53c1e8ce226983a972deea93ced7b88c2e87920a0156c1b94a4bec0e47fcfb30e1972f047b56252b69df22f121758a49b08d8e5147a761143e6ec5e2a4322f9feda4dee59b268c4872550a76c5bc0c07232a77c7d04c47b30ef6965840756e007cc872f71e9faf194a62b69787e017762fd4f9148f7a43b9d50d8abe4290fb986864ccf24f9f52f8483c87e5e4e45c4e935f4f337b7d88baa38b9039fdf03ce40a9ffdc6e111fe692f38c650752019db283668560fd31349c5849183f0d91de0d2b88931ed393a3172624649937fb1afb04a92ff2c4469041679057762ddd15a4c8a4501b6116c9a72a2260b2e8588948fae691303c5a7041027ce4a5827c39edc6a8714434b537d724884fbb9a39bfbf887e945157ca2ee990fded68e30604af9942f8e39195c5972a532333ef4d5eacbc9be8534273854503a0eb94eb6007d4f7ef386c6aa37a866e1c12c0f34f5db2a92b1e3ad467c7e1f75bdad36e05474e15816bd1df4ec85259262d3ff7a5184f80122b13de208e87bd9b2c607e6efae864569a2d8b464fc0473dea65351f4e3d52a497452c79740c458450914eda689474367217d18d62042e63487cdab70eef512f6681a2aef4d2359783936cae2a5c3df843c93c7f35f7208b386b9822f79d21154a1edf2568b4b355ed7da3cf7e5e7954ca7582217a2728bc1c427610a3831d67b931f296b3c30b372d19fcb4d60b3c0b8bfe0f667503dc7cd70d41df629ff139d0f66952901f42795c4babc68f653ed080bc895f56f4053aecb97f6603926a2ae285df8cf20c57e34e56965eaadd4f7bd1b20308f8072508390724cae5611f0574d1e83c0dbdfbc61ab06fdcc0e65be32bf272ead8672545a8145bb1179511c8822c63ff1e7bfbb3b8527c48ba5be283078ebfcaa2f72eaf0a362ff747e226c4f228281fe5e3606eb826f4161828ee1a501d48c6a362749ba4302b8941d81be751f23cd27b040c2d890c9a6a2047b3a1f7a33fce612725e7d8319decc545803a420099ad5a7ca52b41b0f51e588d3583e71244d75027237107713dda0803055314c1fae8fcd8993632a7ed91bb0fdcc791cfb3d720372d2f506986989051a6d32777c2d1aa025246788f30f54c144c0535989333d57723f9ff54a691d043f2c2d84ae95272807860d6c576a0c6dfd90c4bae6b650327225078ac2bd96dc5d646a873a6d7543c2e1265b71f99d3c9f1e2a06a3059c06727c0f5196419afc19a455bc3adb4ae23e69ea0073e7c600fc5dfd7050bbab8850ba35b25de6dbbd8f7f7b395acb6b6d460e7b7883e93508c42d7f2afa4c8f9a26f769f1a0d31fe888ca7ca2771e1c1287314d2833ebd53726af856e4658a0bb6ed55c41ac04b434a3e6736cd9261300b9315ad364c467238487ba0108aceedd1c8814f7fa9e14b82243164e84760887a2419e1559123e9d5f941bd41c8833ca72390d33a27d45b6e73ab4ee02f23b3b01ee0f94b4a98304671f1aab423feecd2879fb6196503b6eb499f20144c56836c3cef788d0ae530e8aeacaf9c01ae40172297c5f46f70b085417bb1c4217ef6b0f3400b4994e57cef7116feeac37c929392ab6bb95ffe92f643f64ec7e036af2656f84727cc308354091c1cd7eaf4df17244b1a04514d4f8e1629881c84cb6f5be182b40b498c3faa55b28a786436929728da528e60150034e1466b60a7ebcf37958455eb09686965c81b585bdcaaadc725ace191deda3b0d0fb3e6363f28b626c14e45918bc314684682b68c51fdd127235c1dfaa021dd9625ce84ad3dc3acb7978f57825a6faae9e704b9ab51772da6119e184ae1bc99ee29bfadf8abc83ab6805488e89ce22a201400c1d9def057462da34cefd8ff96ab767dfb7d2df3b9d2f137fc400338fe88a6c18f8577507f1188dcd5bc975f0412396b1bd5c11f6f6065e058af459835ff942ae4f80ae4c117239828b98b3b34d092cc8cd53a7f7e804d2e337c9fd857228e52c6370eed766729553fd9dcdb643a0127ae1cfca8fe8b3811380b3327c3128db4b6695a6b4a572af57ce3e5e9af156f3c384becabb58717849f493aca027b6f69d6062ccdb3a2fb8230770b229b0ad7098273521675654dc773ff906463e1f3ad49bcb6a418f4d5fac59377fcb804e3961475b38a25e3763c699eb40f33aee021e41d443f1017256cb851ca61b1370239f4b03a34ca4f37c74f6f6c22512debef1be3f4f9bad72f8afe5e15b43685b128d3572a72a4fc33d32aeda6083f2653c7929dd49b5b52c9a686c0d981cd7ad501f137cb66af04bd05188d937c4d6fc0444e119a50f07721a297dd9eb1973d530f9b38715555d91c1eec6225c64b1f9093c903a0ba2b9723b644ce3d551a6ff5f9321ba199b3aae1fa76d478024308ddd8f13c8e177bd725efce52fe97dc5675c7b6916e8589d5e4ec332893e5182a539099c9401b7eb724ea77c823e92465de46d8506c47eba0855bd20f44b0481c4e5aac4dffeaa9e72c236b9021a4f3e40d87d7458be37200b9d53fff411464c3ca836fe28e228cc1ba779f1389f2e71054227bfbfdb43b609e097153ab9e6261468406b34c79688726a4aaa9d768dd5908f762792c833d95d8e194b2fad756aee5c37de5f4e2ed44170d1f80080a562e7a107f0ff741707efdcdcfc116f5d623aacd314b91438ca72f46a4000c0427eeff855d6531c8bd33cafbe7431778b7314519a30712901e0023b24aa992fdd04d537cb0d100761a09977b374209d78ee4a7167f8f36c0ccd7282fc96317f9a1ae0999a71b0291b4fb3cd9bd5f6ed6e78d25f3532394cd167135732b24157d0ac1fc33576ad1823ae1d194a204ded34dfe469ffebe7dc990b72482e9be7351717592fe2f2bec5ecdc91129927b221ad24011c6d11bf3a35f3727f9343726101841a1897aec82d3cd3b08cb95ff74115b202b036373a72416b72c16e4ffdb612a659ceaf00c477078be9cb4a744b45230b8e8269d23c2276ef488825fe04954d85fecee29d72ed7174f8369b7c7a92cd0a1146b8b01b292aa44556d3f4f0ebcd7c551de21462c37e2fb248a5944fee3b730b4bad7c98a095c6726b053c55a55939e08338025cfb41d2397c919aa9ca24e99aad7e262e04f307720ca07ff1216adfe9768c95ea2f31268b15e554968e0de7698d920e6b3c885a7289df3c060501d14822eba963db261b7ac90bc04b1153069580963acb0a7eaa35023bc710d5cf4b5795f6735fa0c8fe7b5b8c82a9b25b9902b2beae749c305a3f7350a85d3913d50cf277e3a0cb2b4c97abe7f6b751c7a541e20ae8b95c112f72a57aa2a793d96b7344fcfa8f2ae7dca3c77b0002489b2bc9986b08c93bf13f72fbccd659056a078da51fad2b3e9374fe1fbfb5fa2c1b5d929e806ff19c23ff30a34c17fb42fe2c9758b0b6b9ad11b63c70a906357b954568e1f67a86180c8b727a6d6153aa544e1f8825f67d8d3e34a5b2de4881bb8fa6120d3817eabbf8dd720012d82975f3343bb2214c138beb912ba8c823b945e89b87c3777f300ea40172b2f5c6e92d1f084e485fd7310408a7ddac1152e1ae7a2a1842121db65dfe8f7205f5bc346a35d3f8feb1f12bf63773417479f8d77b91b5d08ca33c5fc448726a9e874a18aca01384468788d1c76a375960707e27a96f414d56e75d301609c172cf73f8674b44fc19889d02764727b3f00b72b19cfb011821985bf5b6c404a87238b6b4f5b5aeec031af043e0ad241b75f2217d39e388c8194c81e1865707b166e8d3305ddaaba522984c2f16adc97a0e5b03803748f4407c6d4458d3ef4d4324fe24df2ab497000f70e0950c6d9d15bc9e6244e6114b7164d9f9785ee7003172b381284a9a047e78ff4f24700a96cbc204c4fd2551db3053e39ed9b40ae5f7721942dca9e69da31ee7b525010f1b05e574fa2bd0accc49c332fef85c4a62b934c23be43dc5d57d7616d315b8872fa25c565b42da8aac84419f89d8914099bc721e8aa67fa922570c8ebbcf32062db11e2564024707dcff5f9f1c442f7f4062729e5a2154d190d98bf30e60c9716905da3c6cd526b44d8424e17e26b20843704a8b8757130f18c89f533118a4894f0ad2df09c5bd5f8f9f6913a5e67d2b2ef215576dc32227618136e680c1088c5f14cff5cbc717a963fc387d8bb19e01e7fd7256d0695995ca54363328194a5f1650fa13b594ece69a133fa545bdafc26f93725a87ccf2f60072a8135b94f50bdd6bf525b2e584f2923b8ee8c2b583286d9928115e91e0bbc097e5c15853e39f1b07a5709db8d67e19d7ebe86feb74fdabcc65f0abdac0c18bf865851639950680a44a2dbafc3b82e5d901518734d81063c6728442089150aeeeb6e1fde66966456570bfea301cf9f231d4d9d85a7f50a9647248b26d930dc67bb301a4ee15db3c73bccc7c3430f5587bcf5544a7d3dc16994ad88ada2e1f86c08cd13aa9bf59740c3d53b56729137eaf274e3b211cbe09ef72c70d2e975a79bdc7ac33b65d913af0bad759097dc689509a6ec3eae7de87d6720484f7d3dff6671c4c34f8c154467c6ab82234556ca835507f9c01b29c624f498a2a1a4220128f9fb94e0aba663ae81f8538db88b9637a507d7e160ec07e0e0de58869281fc25e6d523bc095868f3e86902095dacbe62da72c5cfca8a4634067e7fd8c932fd65cad326f5054a5ca19e658cf16e8d389d2b67d0ed89a959d30727c804844cb0f7091d18f5a727cfc58207e3156a0edb3d7934fd1b040a3e74072545b77dbf3430ee883a713917c82a721773935ae3e4167b272c1c6b2a911e872e95804e3ee667c63c1cd44b7be371eb5206558f92eedc6362e793d5d6164d745fe1e6447a33636639c46db25865707ba137c57d2aa40931da57d603f5b2681728ed29c9e33fa0a20c2c7738974f4010262b29dd80a16d89c5b6f647bc740f44925be33d0fe2745f1f851d33354252f678c48a125ad6dfe6e415488c6cf5e5472a8eddabf37db4f3083766fe31072c68867122086d05f5f4a7ca181620ded5b20907cb6675e3923e9bc930cddbc38a35f1e5c45fddd75447d6887242b0c69ed72e2f5d57bf97f5ecb94ef2a99870963d7f2ed3d5c682cddb2e12075200b762072031eafae33b40b88fb871d2fb0c9599ea598beb4be4268991c47218488133e7299ee4f43ffb7f3c144c8b0984dfb74448696ac72f37b678aef102845c27b951c0ec031f25c192176b9262a2c81bb5adfbf52c461767e8a63d80a80b0d51491521214b845ca333059f174daeb9879952344dff8eeb7c35b3a1d4d426fbbc8b772a1ff091577f031413cb2f19e96d04dd4b53bea75723105746248ef6f91d80f4f2009ec370debad1fd2f646cd5dfb0c2c162ca8a92535b35bc526161d3643561fe3abd951a4f00fa8abb19ce7c8d9733b2629fb9ff8c7f5cc6037c70c228dc625606104e01f93c81e9bcdc07e2378a8d79bbba35e7a5fad47279932ca03e00472d36e66f55491c860b3a2b0ac3b8863dd453e2f62ebab7288f9ea395e7c165b72139c9b5c5da1ff9f3204bb05a9df069ff12a9908b752d3de38c17c865790ce6da43ce01beb565ab3d18c6220d2c433552f431e536158f4bc38cc4d6dca18d172c1475db6dd16ba788373bb0193094208bf5de4da76d68026448fe1625325ca72d511aed2f0c5c58918cc0207106858a804de142eca9883504449c950479e7f725903aaa55c5fc3ce0e77e9be43de16f636e9e3352aa9c0f3f3cfecaf95b159724faecff96b575143ab2c42489f3c34daf215b85d64f8bc41ff4ddf065c605872ede24be716bf588fa2b8c04162baeda5e2d204efd5b838842507b7b06f68e4721eaf34be7b1f657ceebd981622df84d536ea6f4838b3643b40304664673ec64fb9174f38547d2481e3e851f9b3cedf71310a9832d1cadb9c63cb8c81516eee72fda00b7bda35301844c0c026a166ef8716608e57bd04013e7a8aa93b23c70272bf2c145d66851d25783ae26da22fe9a756d79ac42c82fb0df0e150c1f9ee8d72b219046c462b1abe8a2ac1773efe1134b6c6cba637a6cfe5359c5d853777d139a662a4c19d014d515f00d024609ba54b1e1ec845cb414824dfd3aee1381eac65cbed7d0768f94e1024796397f2fec000e18deaba42e7e27f62fdc0213fcb15720214a51a1ae0e3aa0ef5d723b01d63b8cea2324549b1cf15336d331a9cfb2c727504947db5aaa1af52a6fa1225b9e2031b48fe5267a4407d07874b5b1471504d495f51d6ee6c87624672f8ff8d10fdc20ff538b518fee6286e460dfe861eeb72d31fad3edae3bbffd723153935b054a709f3cd48f9400d7ca9458beb67acd544406ffae187de4e17480994c97775a2ff137834282a250104254076bcf502084c35c24b223f69b2d510829c852a09facc27da5cb47fa027eb2f358b66e389085df181ffdd4a957382ebce4a10c2a2f272aab7f451ad89e9fb12a8823267d6eb62662caf594ab3ab196c7d6c8c757491b41f278619c3fa0bb3badd91f58be36a2efef3dad05317dc01852b04209d4420b5c2a6161b94a9ee5e6f55cafc79660572e02f2d41358004c75f56448bd7016c87a590d2bee38b2cf4d7c302c2c9430972ab03d07a8098b16c046d04c14cc80e5b59e16ffd870a55277a074840aa28c9727f6e77997f2617005616d79c2dd03e7019078917d5e0e5d2e638ea3d214a391670c4512818a4cb8040dfc25fd0264fac6abed2f131ccee0ad7f8caa26957d6498a3f23015ef4da19e915dce6e40f0de5be101857a843d6d60dcd2a12e1dad659c4ac3ae494e382a73b2b3c8cec58e0f35f768521ee89ee39f155ffd74ceb50262bc86dfc3b00e3bfcbca32694d20e1f4167959206e12864921c76f8ad7f46272397428bf84beb8b86e4417086fa2905a744bcfc9d9d32a3c9b9eb92dac9cfb283ac49f4dc172e8c1b05c6597dbe6afd9260d63317143d962e56023e343671b725f28a3a2a2d482b40a919b8271443a6089d28732b999e359ebdfb02024061e1c33f383a8fbf4bfc083885812c4761ced88489465792651b0fee9e208d0e04172abd728a5b9d4c75c221ad4aea8792384f6a6184c1027ab30e6b94322751adf724930aa77c8fccfd7f27d5dfa8bb2afa100d008864adf087165c40f7480614172304686e694796669a4f8a1195b96a7a55583c87c97bbdfd3f38679bf1430b8724a7f29fc23b36fb8ac4dc421bb848bdab1823d4003a3973d4ecae8894cdeb67222e70e36a3d5ab9be292b8c78878cf2b61210724d5cc1a2d8466e6526b7e325834635d6ef11a243c1af025164ea104051aff08fd713c1fd38c3c07d5c8e6bb1618c7638d7a58412fae59db6ee9dac6ff70f90b3ae6b5322153663ab5b724b7727e6c79cd9cdeb3e047c35bd3db80594567050d5e0974df7df04a1e474c17a35e8ba2708d7579bae959f0c0ad5c255132b0cd6701ae0453c097bea87d4dfb310ece09c086e2b1a375a79f6f181f16a2c35742e09edd7b003298e4b805d983a0725e825b36d027c6ac0aae07962dc20c9b39989bfab054fab17139d05ce14e3363c20367883626231f7e602d5c7bf8afbe07a0b8c90854e6f6ec3d8afea616340267e3b757d0facd4b70131233232e91a74a8f93539bc7dbd66ee49bd2c85946661b3a1b6b1b2229e223d59ec7eb742e9c68abad97a7c1b968e7e7b555dd42b56c8ff9d7803ef77b1368e798a984babd1bbe488366f5a8bc1cea0b687b84fef77224dabf4fafa99fa0a53b95e5bc5d804fc80b237b1b941a70921fae76a4e10e6468fef9e04e46ca16c00087aa356aa90cb0dab4bc7ccddeb1af7744d461a8b672ee3321a71f62bfe3cdd21d32f185ba5c2701f9efb32f28063c42925751ea8f3f3d6a4469f94e004cf2b21738bb206f410529a846d6765adf4a22a9179774e245e242d13c2be27c631410a16e754ac18699b6fc8530ce72967bb14327ab286372b65d740ce8d25d5fdd2c4030ce7d20d67d945fb8558149ece75006274e5adf72d078522e81a2623aaacd45a5eced756ea6c0aef163871e514686ab742c000d726eb2dd6a127a3f5aafa8e0ce6ed49d3aa96526eaaf619f940824a341c5c445072fc345ca71f77a2fe313e11f281419136b764fa5130825b2c5109dfe3fe3891a71a181a7a05ea1cd6c098edba4d1b049fd5626eddb35f0d8214424d9ed6c0f7202ec32519a49c9cb435f7a80986b65469f8b5b8c2cb21d00ba499de6160b3d1ff5c4b94dd917da88fef2a11492da8c9ec1020debb4b74f0ff920f62f99705f726c6b74b97b617de69d4330e72f3859f0250b81c6dfb45eec737769cc2af88956d1205523a954ccff10e5c6455c3ac53da19e2ee5ea05418b4aaa9d87014b9e723074c30e5dc326977f3351c88dd3d5c930bdb9cc592a08bc3267d255dba18172809c96b83b88feeb86619abd15fbe4f33d8bcc68b0ae41977513151d6237b1720230507aa59e4535ca1c433dca37d7aff430e545659a5ed458f33efc8f8e4c342ff8e0e8dd8cf19503d7127ca1c011231fe9945c86ce702463f15641f066e26d10e74173f9d374e9f20d268211487113568170772205d2ee9eaae88671a52972411d5910c7e2ba4f5689d9dc76a43c33bd3e542d8c72db08b3b16e2cba009e7212c800b0292f526b61ed350bcd531c5a61cdd462405a5438a214986298582472731ad982f9c8ea1e089ab33d7a105e824139261fc40468870a7a6a5b910f2c29fea513d73966e3b8ea3062af73f61199266f6683e0d7c99981a150b205d20f7223c194bfe90714cf529bd28f8086d387bfac2bea03cf625eff5129183443752b4b823f03fd1188fc5e92bb2bf2fa153a5ae95cddcd422d6008d5243762007b077897a27e2d0834c0a46ed0b5d090b51747696e30911fd88453eb002e1c0c892bb0a0e19864b7e604ea03578b5420b937cfde1b41fbfce4ed40f51d481a468e7238077637e010d4c4ab122a5b2d5736c9dbbf287dde274216d311f24586093572fabfa4f019ae4c2d7db60744d49deaf5f320d1abaddf0e11b2d1727385198e70fce6e6a9c7ff29cee07e39cd1efd20efef866e8064e745984133e39e26a71c0b8eb3ea21a89c2440ccfb44de8dd748962b0ebd3c942e82f65e05f076902e7572809e88fb1aabc5fd39afd427379bf132da8b887c8b53870c6d42f326f37e543ea86a21b9b8a6eae5ba1d0ed7f416f70eaf328b0166b03cbad0fc01a751bd0a729f1e3994795bbd0e251606a57aeea7a99de5f08bbc09a486767e28658091d4687a45f5d31c62a340e92f289f59ef8a16f84ba5e94f2bf12981bc1c6cb883af7283d9e25e31089b51af39b85f1e3c10d8dece04b7df8021d009dd47483928f07260acbc359dc8abe54699d8e4ab1dd208e164ae9685e141a567e3c08daa02b77215d7c8eaf12a791d5af5a3cc79de8b3e40e7348f1f35b7c8498cafd2d1320b720d84e6f38abb8248c5755a922d4423eb639303624a6ebc93d2ae7710c8e1ad5bf1e1fc55c543a2a6016c2f4c9e44ac1a11710ba2a9b0c41edf53adb33c08ae729891ac4483ae648942b14b8516d80968411068a3fb69808be7d2889da2a9633b2680006f5f8f35dc8b44a739c065b5d32d7ed78f3c75b6b5914888a6e6b89972baca4c4b04f48f9dc42f539d694bc72fe6adf4b855b4cc90e922d3967e17997230ce42ac72989c2e575cd5b69c1bc9541617964a919e80a2ac3f353f1541257225860231a656d71408184fea81e017b4c380bd9197c43ff2011f966d83c5f072b3091988a8e087a604c0837a32a03bc6d0050e521cca1b3cafcb90731dab417228c5df9760777edbfb20e134301e6e9965fb289c2a85a25552b2ecc0e0a1707271e61920650d1a0dbf7841363e67292cf2dfea06ee6fefc38aa53afc96d5ea72fd30514591efb45991000e0f9465a30fb90ec68b98026b0252aee1adc3ccd772734aa3f566bb3ca235634dc25ce78e2d119ffd6d44434641e6bac9170e97397207c67c577a6a56df0737b6d9a524e020c15a6943da192dfe32932ab26f3fab4d8d47cdc0c1e1ffcb22b348ac5f3156d4f6dc6ef8c0f349e834ed9a0a9ac44f2c1c51ac98fdd718ec79ec66172fdf2e67ebd6c505ac55d378e4219925725c8872dfacf149c3435a7199b6a62bdcd316da8c467e4e0e3167577388dc8199c61572ae4f01d8c2f8a98740d44d3a584c8ca4591efd905275e0ee2b9b98e61cf4f96d3da3e7c8a63687bb4c1edf636df23e91fc71c3ce7a2fe38416bb31a9744e3953cc7fac6c91199798906bb5b56dcc36d74472257afc0e41ccce2dccd5da16ba0474a453fe076a16e5afa6aee9a5f447bfc466be01127a4ae01f1039349a5d33723045539a87c7898d3f5cc15ba8f38c75a949010a2a7ee0e30eac3882f0673c72abff2479f600869e98d67cdf47d76e0735b8d41fc038999b93d5741a46e36b724eadcb569bcd5c4bdd50ca8db6790583317f6b36f3e67a5838718325dc8584723f7d2b5ef0a12a66ec11d3a2bc9c9383f34fc0a7ea360c5207e62b43997f446dff11934554b523de562aa3fb2751e70248ce16c85c31a61292c08f424c4c5872b41231a942d88989d66feb3c1070c3bb0005b4e5095d6269438d24a5723dfe72e1e2fbf7dd00a589be04414cb2b60f6d41a228aea9511ec261ea544a4e5aa14c609f2ca5551761c1ee4fe4bceea21a7e226349d74eff8c420d1de8a79c418e5b3692f948058d2d0caec220cd500244e259d9993e3b053fa9d7258bf396992872f716113ab2a5dbf6c7608e716c1d2f35d5d7de24bff3e9420c095370f384c8721676a8f252d20294e1ad468c6136b9cb872fe98f8588e9de476845997fa2236a6beaffb983b4dca1b2a928f44c354bc01e65cd1a34b4f58f400a407862338b5fd3fb1585f9648bf9f4040a3b6c73212896a748b58589de1a594613fe6852b92bca1eedbfd29e4fd9fdffe890ffda7ca471be5d0e07493df9e241eb68723a9e727282757fde6c9faffbac375feba511db1848bc824b333424189d79b5db0cba56f8d85c72a154e90579db7e6315143a4ff09aa0418227ef0f38375fbcfe28d03e8ad70198bed5c3d024a8c8f121d66431ae2e544d50bbdd3012541db70399152133ebfb0283771ada32cfb00401324ae7505095dd33915230eb4bd9ea96d69c72880e28dabe5208ce685b82ab6ce0e0170e25e2da97ff2a49f6aa37f6ee0d9537bc2f858eaeaa1acf4bfb6a8ddf08943cf7636cea95d131e09e71579d07c189724eef62f9c94cbbfc4766403d3b5fdfb07ac0969006012806c1ceda3a4e99ec72eb43d2e69babdf311760b775473598b45e7dd623dbee17ddc0ba99a32be72c7254060174044b9e943283133e326eda4b06600a692f8a4db67fb3f560ee1ef572ee97e15024640c66370970e999bbe09e2c3d5c154245be4fa6023a3cb2561072b96797ee106ed99bdd4ea0f6f7d55106fd6ad15605c35e165d1ce0838056e74a66a0280abf186eeeb1148d83f5c8a178b9523754505a35082cb70c95e92d4b0907e89be23def17d608b0ebedf89df7bf134db2a882cc327353f33df031010372139f9335914eaa548b63cc9cecd3d1eea88f9eb1d1dfbe28025b41a92554701992f6aca9ee6d3fb398eb36d95636fc72be095d731ff2f0d7a53c5bbe190fdd72692031a5147f61b8e1b1717207559ef397ac4e2901f30bbb8d76f341f263fb72b181452db6a7feedaa53d0db3596fbcb8dc600d2581d6d3d3783296c14acfe72f340a6db51d18c468eb97ced177958b7143b8ca652917073ed5d30a64ba2f130d0cb06a62998d8b015862f6064aaca062cc3b84cbb1e1b499500d6138c4cc42a7551534f74cabe3b68fea2cbdc6035cd671e475803a88a42c6991ba27ac30e72c7482b003febe8be6db0fe0964a949a18639c0dd30b0061b5dfd7bc6b2ce34726748981a30500603dc04b2ca64fa91ef4fdfea170aff48507ec9d63ca811a45c4d2013af2cc2adb0fc7d234d3bc48bd7b4b823401b62db51b6d401e742711d72f11224f2a0e7468faafbcd1a10301ec7e68785265ed6e928dde68ad05e6e617214e0907d854a92fb476493e5ae75706284fe793c7b9abcbd16b4daa8c0a68369be6b1da8a8c4b343d5acc7116b456aeac5f35b2cbf9e3477f6cab9c3b6bf49728ac76725fe392dca164797b176531d5b889838e32c49d3b1cefd4e8494f15872298ada7fa5fcf547988b8e6d6351820b7b390fc0ed1b7caafcfc7d342d1df5727ae55b194d6a130162279ddce9befd0dc192a51c58dc73a83288e758e573b0723f9138905a2eb44c6b9933354934167d9ac693be5a0b3df0d48bd45030e24c720b45a1a2ac964fe819917ffa70437f710d6bd69dbd8d90da5df5f1b00f5310724b17db433d3b9ae113d4e319514cdb25298e032f288bf582f6b79dcb68f5d34be9178a6617dd548239c54f04450c1b7cd74ff97a2e88afc9b2fe4c6b2ed60a43dc982b11088b60b0068e4b1fa0ba086ae7ec7bf8c3ad3606178a92245b48fa722e8158cf169ee94b1e939c2cd4714b8656214aa7fe295b1f0db7f01a5fef6503f33466706f9a54d2051062aca1670652cb48fca2df283eeb60116843a8f7367200369a00f2d78017a1c2a3ca94666c2e7530a26058867c725098dc40dd6f201e94c3aafdaae10302efb7d7a0c11617ce42d4d6e9e3e6911ea3c5fb4311ba5f1fe4fec9dc933341655dc8afa2695c888daafb64c02b8d16a3d8f1f1743e00f14092cb650800dcd075c7a1e6a6910f09b426991c1d6aa15e309d697b46d752047264e854f9b92e2d34ccc0d019d8db60bb497d3b749c91524bdb5dff84b617727250b51840308455ccedb2313b1650aaa415ffa2ec27c12010d24508d156f6ad720bdae52f4893ad6731ad5dd1e9365652efa148bc212be0531ef35e246f8258722572d80165c4b1e5f02563a344e058291d1e57d54de3edaf2c1da4f2b702d572741d3a5f982f538fba10bf0bbcad7cb283eec6375cc5a142b9033b17b987ac72a71b13b21a27fe343c7249339d82ecd270dbc7ebab0648fb08945a312f63b072ac3d16e5b7058433b624510873e9020583925e66656ea4f6264b6f6a6e129405841dbacb36e9a3ea99792137fbae02b8fcd55fc7bf3b1bee8375d4cc4ce2ed72fcff87f903770e53b5073eb56c0e1a3dd289b2881cc0e0c9ef73ca6b025a785561cb40d42018647e573fe5063b1a631166eef44393b1ff87f5ea5b2505aee7726c3ad8e0751ceb1c1102a829fe18376fe1599c936a58ed939ca7fc0cb9f467585e594a3022b341fc217af72f8cb0be6cdad983e9960806360087cd26069fd40db67d60b5e2483e0a9c479f3001efa93c87b7afa26ec293758029c79239c9a64a48d3fe60d6ead94389ca2255ded5580742caa566a29cba00697ebfd1f76d2472cde0788a881888070c408e613d5646632c0422ba8b6943c042c1e801e18a995342380f0c18639fa603fad98b0c1046881f6e420190ca7896e2874c727ec570035bda71cd0e4a8e9cc3aecc659edf03a474233d8a9bcdce920e2bceeda14b5a72c2f1b465c4b2bae891ab11601d158f1eca5abce00ea8b3f153b8ffe00532bc72ce45b0c118bbdfa24c19a8c3a13442768e3a9540d6950e4019a8332bee6a317251670ffab978afe466d12533eb1b2ebaf65a95301461fe969fdf6f0c9f8be572b377f7627fca97ab9c5f47410b4923504133a6660e4316fc2c6c591f1656664ce33b1b79304b9e7f56e0d5c5ce2080e57a4d3290dc435698c1fbfb39cbe2db4d8b0f4b814e265506531ee0830689139b13e003c5a691e54d0edd667c8fccd31d35112b7cb10bdafe1c512d8b7a5134c6e1113710f56a6f16953dd40913f2c072e4a80ca938d425a3cde7b9aa307064e383744a54830216e87264adbb894fe058f6e10ef940c8e599946053b29ef7543eca6323513a815a83a83ca57037ca130647aebed529d380fdaaeea06e1108846d39539674e36619e132acf6a4f51d75722b193221add90165e1aa332be800da81be7218dc5a698cebd9300c3e5cf89d53ed1a45ee087aea3c139d0d996a791c821b63b9b17ea71071f3e632f5e5bd9b722aa5cf085555e421d44889ac5ec1f8540caddd2618ef7bff8b758d7e48816e57adbc11ee335c908210b634d7482d2495733fe9bb3b89ceea8010c5e53214705b60d1827a106c0f483782d97d7ed52587e6117b0dba2af7fe8d6db8c564064c1a28820eacbf4f30dec793577eef3f906848904d6774f5c7c9550951e9e60b7e5d820394795257fea64a92cb79d266376b6ef1c600c425a57506f39a916588d3315cc2a8e65a6ee3952b15f139a8e90f3ee54cc9fb85af716ce4f400aa6af33c525fb0f55ed44dd14b13e1c8a0575c947092500bb40b54e45ad99a1a83ba4d4f3dec0ebaa780837b025f9db0c9c916101b7abdbd916a6e614585599aa24a30b86aa27456254d1928f63813d2c9bc96e7c747fe9aa4555e7417f1d41d18884f4a063373b6e34eaa805431fa315a10add6b34c5afd4c5b6f85454d36abe410eee42f9f628ea164ba636e0ebb7ed7ce788f0e8d7aa406fec43c9509ae0e4ea16a4972bd27c5e7eca65a66735d782a35834ce8e4114da1d47abad1aa5f25620b7ed672a761752a7d547ea36e896e2ed5d34a92937119eb2b2059cd86862a92bd5bc4489d91bf2e602896bb11ad46a98715c4e6448d363472b5c3448fdf393254124d72585d705d1c3379133f9f62ffe2095e0d977fecbc3673208eb061e3fa12fb205832313bb8503e0cbcdd45081f75738204b6551a07aa2f86dc49bf638a99e8334ab3bfe5dd54e9e408fb633c55372d6182245198b054196ba2ad28fb5528db1a0865ab1f6984e5db4a0c421df59ff4c6be6f792a115ca0d221bcf3f27a42e52d43efcbd12827e519f49a376f4ffcd59cfac80bd15e147b2f9c9d3dc84d9f816b59fa7ed6e6e4cad051e348df73177bdb64a368e3d7669f9da72d7ed5a445f851493b7214bad8650d1e341f39556c5661e3144e0a34ac6d57739f075edfb1af0072af66e76bbbd3b2f59192d7176364beec1d70a79e974c1a6ea34f4860ac403112c1ed6aeaac9f05ebf3138d34aed1094eff04b549a048f62f2f967386c9b96f5bebf9282577c11a551da3a48339433407bbb3f5df4f4a8a33253f5d325c3f0401c90aaba8cd0ea5f8736ba680f1d33cfdd8a2aa305acb831e315c361a86fbf372b4e2b89971613f1bc25074e39b4d1f3a0abfe2acb13309f345c6ab685b7653721e8359d1e2baf4ae14813b4e3a227a5f4a3def6fe7ca65f2aeef10aceafbd972e0005a451a7c3052e08a04c6d0514f3e7e54e060ffbd99642fe0fd7e7a259572c2b6f40596105c64f7355b1913bc37d8745daf4e68d42aafa875f6d0ecc5882ba965099162fb424304b7942da870d130a4b97b6c0dc3fc20b792a4936872cd6b1614f375e1c29b1429ad2193ef58b4a85a057f4578d4a6959f2b14c74d8f253ec7065a2f8e21efc2fffccc87b00eaa383e411f6901fa8278db6fa6a0e1ae6a0a392e840bcc4933dc5b693242e13089992d16c494bde0363a935f8da22b7ee972561fc50cff7de1a683c1ccba90d96f86aac76466e0cb0558331f224d991405722512f2ff8f9f460de7de53abd164e8bd886da57d5bc626328a65a24b49277a33085a0bee09695e4a513ce899d1bf92634db6d12a4a17230ff056b7a66f341f3ca6870e3745b48205077537f6d24a75328036dd0a783f2f27c4077dfdd5c3ba236773c221f7a9ca4ff8772566dfd871ba8569376d136ea244fee0c50c6d01142fd206ea3cfd63eb2b40657e7021225f8d020697aab95a3c21789caed87738a85e560be75bf2bf65ac3d7f343215b1f00ecd6ece839d009c5ace15ca033aabc572ae45c8c2c01c031e7a0fe5e8e8e620f745c898207dc5f307304ca5b92141507253d3a4c1c6b62f3b651e0aa5ca1d99294b40e377ce687ad7c4169e2cfd0846585a14ab6a451703268fa794325d001ec7804adc93ef1be1446f50bc9eaad7ab7241f65cf6a042935221b6a82fa76500a7c82729064ac269ec15b76014fd55c7721a3f9b48acfabb9b65e89ab4d358f1367d69bb051db5d4623695d444be2838370a00932d9fe8653db12bb50a8a55975bd69dd9a714e591cf804432ea87b06a265d4bf4b3272c8442c028e9cd384259a73777eca4b937fc769409db9221654b729d20663b7517677c314e9045e78e72fcf6998c08267692e804cecd117a8f1c727bbacc8b99880520700b0c6744b244e0c9b2a1c9b8300c59fea757a9f1781f56ff93e1d12c98e4b64d7677febea24df4517e5b48c3a0754d9770c9bba3fa2972525758859ba08b6552db038c75bfb2e170a244b9b88f73dcf83de76f2e38de204990d6aa381ce7de435515a79bf495046f92cdb2cfc1cdb46aa66e702deef65565f6d900099137cb942869d577a846420874ed931ac066f4f81bd46230c2e67291d8a8678921944774a44069c2628456b6091ee32920ec9fb3bf0708f1967f43e2cf2ccd0b755142ff659fd77050d477bb3b406952c467557e942a243cf6ff726b74fc939c901b3f92d1819da7a3970bda996bfabf8334735818675721f3ef72ce83555743ab97c53ab63264d64ed722270074bae43b401d05a4e9b4ffe09535e6bc30ebb8c374966fdb62012a2ff79078658fad90f1e2cb6c3c563c3b42bb72fc69024ef54439ebc346c39684002305249c8ca1388432f29955b4796266bf1e4c89ac2f64ef0387941e7422237783fe68d78be9b7440676f1467b5a6fde1a59dcd11b802695739a65603986258ff4980c147110621da3f210d4edf1609bba723441904bb47ca79e2291ad73d07ebc94cdd71d5ef3b09b44ab6bb2500c365a7280068949f72ca5e9d69d1d5d523e23e0ca758a779b7062dfb8ce8d2e7903b972986c2f008a47bf3a882965ec5d89bc2df8f5163544475857e674825605b13f727432ae470ec0c4173c4f36c8c3b5c46829842e9ba5d8bf6f34dc407359f363721694e333d3eb9a24ab218624b582f3428987022dfce70a6b4b169915463a0572267db40594966c96d4ba14eb8c7e18a24b78e6b04dbb65874a4e315e00470572a556f291b7e5495f9130222185ac92aff25dc65091a79aef537e957733c39a72699181fab4452ee419aadfd9b4a939970d0f5985f7ef7cea6efc4ecd4265f972512df8051698ecc69363bcc1d1a7e77a9db62f6bf365dc26ee40cc99dd8091729846874157a6aaabaefcc43bee6fff09734e24479165a1daaef603bde4cd5572f3a17914f3cfc253a14571cf27a883874d001c70611525631adf0afddc81363e229216a685eb936c182dd4b20ca2f361d12a4661635d1305a55e840877fcd158bd7b2b6bf78626fe9b3dea42ba464fa8f4a43715c512a2e39f72dcd69c1f5c7200f2bbe67928dd3932bdfeada35fd7bbb80fe41fcba9b074383d4c0989c97c72c2a7e5d37805ba9c326fd7a033e744100c9905b364ff8a86f1ea1f7e7c42f772b2fa5a1102359de32db2031f9148cc7fc32fd19ada004bf0116c665e3ab1115d1a65063df396b1d77e21b6e721bfe4c6ee9679a61b522c80d67955dade4bd7725bdce69b8d24758b3a9b4c9201dad196b57296abb29cfaaf34485fa1c12b7969850813ea19d14ae1cca6f894c838d3038680ff78f2986b6b17206f39a552d17292c40ba879e511dbe466b4920083b5dd3ecee967878be930871139937663f61a6e4d9831feb0565692fc9dd8b5abaf3db20d6bf087c8dd8e58b054094c137a004ffdbef218947ccce5ac106810a5008d76284b59dd729e7460e759b1963723722ff1b47e288d9c67531e5e9d9ce0eda9820b6122fb09948826410cfa0d22e3729b700b4db3f6da3c994de573315a45f0285ecfe164d8442821abd3ca12471d72ca3e8058333fb70be2948fae9befbcccab4ad3e2fb3b99fc832aabce9a67ef72ea892873a6757fe37e74e64f91e4c0f11721f8b295f5ee0b44ef0b47bee6614153ad39c9d38a1df2af2fb51b7837757ead7bb2b9ddf959fc8fba6e07f8a0bf724a52e3cc6f4366652f0ec1c3753108ae6acf9c7fecdb441e3b01ea376ed2dc6bb707f85ea04986fc90dea4d57d3da1d7d159439c43dbcee383c6d99206c5725e5415d548332226472741056dba769a865eb95822a24c79e36f33e924406b96720e2b469eb556f28629b0f03c7eea5e03296159e6f0730be1bf534448e71e6d72ce06a6f0f30b279318a3edc80e594713feb504127920ef9de64127a8a2623271b0b3f4b1cf20a79e620fd82da716f4de6be46f76a4dd592b18bde8631428f572d0a598b3e168208adb94bf51593c9902d43cbbf5f179f0d0b3dfdbe220807b082141902b2c399b95172bbccb6ecfde5a86e01e6f1eed272c75b675f810b88b72f56f4dadd8d900fbc322f603ac1ed52ccb824ae96338cadef4a6cf980bbcbc059675ae1f1ec3a869081b4d0d21def9cd1b0f7d22f901a1bd4fabc85a70b94b7229ccd17fbf84f858c69379c270df7dd4ebc49e29909bab97ebbe52d42a0d2f070319c92530f3265458ce399abeec5e1941834f4386784887be2b35055b949d7208a2871ec0f31177bc4c255d25b1a2303d01055f8785fcea1209a3046af5c5725fcf2e6462da7cdf83427bb45ea994ec55b53ad02472387a99bc8500b51b72725f8576373f92aa81472f915ba89d7531b202889bbab57bbc655e3ad9c0350e3a075de14c7d6b671024723a1159ce5c962bfdfffec58136a68a070985f87dc209b4755fdfef06d76546686d7b89d85c5fe1936c57e54bdd272f7a42981e802e727368feb41051e48790e0f3da5500a4138392c5acd2fc0ec3c73bfaa6f6f2927230ac48e7f3d8773ca338bf8a9c0d997b1071a3eba23d5bb092fc8fa2368d3272e1be0e886d1b3c95ecaeb44bb1a6afe9464a805c0dc8ac0a5fa170f09dfa2154b80b07093016ce40785092a36ee6ee74862c227faf3f85f0fbca4cad7414ba04f03c16b6325b4842e308c5b1b18852fe8964804758a945daf7c7e8545ae29c72d1b6d015b8ef38d9bd88fa43725e19f06960e27a18531ad028a63b896ebbda20fc9a06a3aa43a0ac2b018e7395e5608b88cfe357fca746838513120adc03d263bd7dcef941b3fd8aa7f757aa799c55ad5fd31c1c3d97516fbee0ddf9cd03451162744bd18b6f155c912863602003af96600d0620ccd951d9eb10632d821eaa72f49a68a878f3c949976b00dea3e8b20917a6b2e856eee4ae0f0f57ab3112cb50761c1ba7d56ab3c2dedf9c941975aab7ecaead89dcbd907f412b5fdb0a7f9a729f0e175c293845a1d63f4048440f1133368850bad5e160b4a827fda2c298f204c27b290e284af8837cc66c794db221fa9b4e59a28cbf9202d704bccdbf221f4c5fefe8f0e0c462926a0400789449e425a1f21d7180a487c8b01c82ddb660a4359d5dfc9f53fcd6be462c8b298968643b944072a8ee299fb9ec6f7fd615806e6e9505f0e6f66e19e8e0064f836096d82aab3bf57bca3555f04907fcc1de597157827112fa3ae6cc3a0ab1e7ddd8235f3892496a596aa1b98826ad91b345459d70f959fba3de3ce29ae187a7016b92c8f3a6fbe2e6295f634c91eb69ac681a2472f44cb340d38c201ff03b96d3f43ce0c61e75e95032c2c1094c169f00e50c6a6b421a56120e687302b828396faf9cc868f3027e92f3448574189348909a6b4a723a10c49ce64ecd660cbbdb54d76a55519ce762243f626de1d390b18b5a0ae272e862eb9be3e1eb161f3d84c6fb0f641f95d1ba8668bc78394262d006bc1b257291be0669aba497ece5dab749f68b642c83d1ed765d5e45385fdb8effed84757251eeea5eac8648fd8a97d2a9d9a63c6a6bc708b65a390dbeb2a33cc41779f721af23634b91b89faa49853cf32a1beba0078821361c8c2c9c4d305cddb91aff67e8f120d4258733d95eeffb778208ea08f4c9b0893ed1166d6a4daea561a28472127635a8afcf28037dca162353c4d325c22f4dcc30b28ae90e84d884d1817d7224c0ee05bc638d54b05a3024e6244a6b5f94e7783f1104e32a845a43df4f7f32d2cfa716d1cc4bf726cdf80c6e0e164dd2de202cbb527762d6dcf6d2c0ff722eb201e83a49fc68e283bb76c6d5c43903d1b8a78fc17fe6eb766119e722762636410928e07cde3c60f17c6829ae435184e8f34c8ac414163fba05dcf0bffad5691590128fbcc3a00f7a183b5e031e093b6b37571a1decb68ae334c2d65daa850ba296110f7f774d620ebe9248ee90b3b2332459dc80bd8f2dca2862b5344fd863a931c0bc8d6d4c2d32d193b918c7f247b37642c820a505bbdae63f4cd1315e6edd507a746b91d14430e4a0a3c167abb7ebd71f3a015602b27c3be51efb8cf93be0f87a83be40eb861d5a37185c45d97e4a09d703d02e30341d975f101382e0727f9c0ef874b41e2d58a5238a36b0d37f63bfff63abcbf4ecee8e7fe3019eb8401ca5cddf8c8e09d898209a39d8e61a309939630169b32dc14e4a6f6a5e20dc72bce71bbb0a9b520106f88ad586399f39400ee6e608d215562c487e708a1b0a41da933941d31dbe70d6393ed9040964ff8d943ec0df6a524d771f7c8d471a6a72d4b29fcbe1ff1070b285f214e477f2c58072516a3a0bf60a2fb4eaf79eb06e722dc1d43ecb8271e91d76fff745b96404c3bea176d0b43870fe350b22e2b17972f8dc5a76305d66508809336d415312dea502791f367bd7ddcd0ea8910d3c7f6cf2b4c53a850aa142f9fbf22a79be43fb0ab014a8d6ba7005e959a81e1f02bf726dfc7fb85d43448405a2432acdc42e416a65a35c8a16c56fb107ec2604873a3f3a28295aef873fbe24c80e79c38211814245f25b0a4b47f91b35c5dc40aaea7289a53ab3d35ffa3f55dfd70a8203a11857bef424094952d26fd364346388da3071457eae0cdf977f79b5bbf9cc3d0db63f6c509d90a81b94f1a67ff1d9d98572279252b801ba9829e80e3aa8ed2bbdb3a9f295dd97998c4c3da96b9a537c7172f84a1d1852a2058b8f01bd5a15fc6d33b8c6ede0e33180cd16dd1711011d8f4d141b656dc279dc9dc88a991bd307895dc856328953820c4d63a0c93ca8ebe1723ef723456172cac55e147391af19b2a601aad86db34782d46054bac591ad97621e83b8472dd975e40081027e7f83bd98e8d0c017e03a3b9f818e7434ef55135ae71477a1ac78a91f851071baacb175b82e2239c25a79da625e4a76f04225ae723991f78d679fe45318de8d3227f36e553e928fa6ae6a897df84e310b693fbc0039687abc8e1f46d35dd5937a317c434abec126352089b916cd64ed8d99728c7252f44c8bb062e422c8b00d15c1023079e0bbb6e87561e0f4af83bfbf6013383014bf608bbfe3f740b8390dcb62deba134d73173e3578848dabc5ffcdc6002172d95d3ee452b11af3fe0e78b52d82150e84043764529ba2fa03a0e93d08235b72f03857c3a9eb22267ffcc6cca49f49d46243e6a155561f408ba6f214be2f5572beb17d68b20e0f8dc2da19a5a8526087970a147999e99dbc34681f0ada8cd4728e2699e964088b16b837a78b29131ddf9017a42bc24077babf9984c03af06272198812b2ba6e4efcdaa557c3058edd3ee041bbb7f2141ae05f73105b0546b372c6213a9fa593cf9bea2706d092824dcdeac11f9d23c3b4e5422e5679ff5c2072ffc7fddcf2fcaeefd2f0738029043718c098ebd1aaf9727b21c5e38784f7d25c6d33fd7d966c690620cf676e57bd2ee37ffdfb9bf391a616d755a6bdea920772997d1c879bc611898e5207b70ef7d22b151ce5a379f13fe49788e5480367fa3af5dd391e50cc6983eca45c11b030a6e4f03d1417f0d551adddea63d61bf912725a7d35719bf7b0edaaf92e80e65e035ae50f1d7a7c28541ad0a1b7f4a9b64b724ca323e91d4eb673c617c3391861aeb5f6303ee86bd2b42479dde16a1c47df729eb4b22b087cfaa1bb310b8c681d69845efc50e066e5e98ee2645d26d72b2972db1981d17b6e8febf58fc471d46462063864eca9666cf126cfa3ac3c091c3e5eeb8199458f303852aafffec95b1fbd3d5bcc1b3632fd05f3fd8dbcc44a566c14285af3dfde8560404d4178d0adc5dc1576c6411a23f585e3c39f563a7636000fc4052878db562df145c9d2f41168e21ed5591fbd2ddadd4337376fc46dfd8327a7b64c0cd0795883bb739a59d2afea4ff1d189242164d25cfbdaca878a67b572090a760ab0cff7adfb1d293027b1539d891681624b8b2d8eb6a003d8dba6bd25b48ce53f114602357a366fe19102bbcb28ffba7a85de6087808701bf2a310e2e2a460d618896cda777fb067e8c733e8d9ff1f888a0534df3cb161475188062722fcb7e1fd27f041eead3299e8b0b0fdb3fceace3811f24c9ab6a7f3c9d89d90daec694492cb3f5aafbd70a5bd8d1622b338f20349fcbb7a40c284feee4feb272cbaafd7c2e8ccaee0e5e6dec1c2b55c0f49c72db370e7aa289a0184435458a72e4f1032e0f8ac247075cb44e0c17d640ed2b6a612c16c39ee5fb159f1bf5fc72263b00fb7c8958524e4eacad8806cf7a09d9ae868b61ba95869557b7f48aa80f7ec7d72d184ba6a8c2f378e31ebe2599ea707769c2ec9d84629a6da9c1046c012454436679a888eb24cad806b720f012e1735710ff48c5c131e21b2decc6be27ac0a17e010586407efe120b7ebd66cbe486a0ffa506fb15150c474bcbcd4c172942bb643f60434b80a3f6e4ff900ac44a0b11f5647e8d95628c59068cf8fff524183f15eb99810e6dd3e6f13dba213cb2703b7f0131bef7cf75164c59eceb1277532227169114559a031b57adba788adf2139d5c33102d36831c6510a77e5c72f5d6f02c8b600ec866ba1a57c509235c177b9fd91f7a147e3c451331b1c2c2724f262f93790db580303f9cc07bcd16857db221212b2fc5301df5d0aa338d7b72fd1c8f753efc8da5d5a2aff2042d9185de8099a51eb1ba2a780b2e04dfeafb32deb66e9c5f81b998039fd815e2462175976ffd59a8aa9200bf1d0878fa7f9e3e8ec1bb6d7f5786644db73104af296c5795201a307134004a90b44bfbafbd1228f92e9b366b98fdfda1183ba7cfe300daea8a858352fa5559069d0129e896de7282f1ed090bf1a8ab75f2f4082e7cc3c743602d18323f3563df1886bf7fabaa273c686e2c8ee77e7a3ccdc1bae6ef376f74125ddc001e0ad55659b664059a65729558a1853bc09d200ef41cc9086ab87c02008695c43c972d68be385d247d5f72e47785a25314e46b8a8d1595eba4267f90e16b97d9d292005442cade29d8c75d34d93e1138280d443617092432bd060628c0e67464f59d5c87544f51e760f00b100df3ca1ff2b88878416ee21d981d376351af9bb05633ce3c6f64d7acda2041ce564ac1df2a0cca16ee9c2664d3134050b692c7f8c5712fb04b70d9e6a71f20c81130de76369b79e0d98cef5197c54e329eb1c346e1bcca281460a3469e5c72884bdcefc8e16b4c8a0a97b6eea1e9776e62083e4b56523e6aa069f3f978a372df20e6f3eab1737ea647855b79076e784e3946c9493be8c85cd6fe2e64a250720256f295e8aee61805b43b547c0f14804e0aa11ad78254d42bc54d8e1a92e9722bb3b0822cf3165329e34d60d9ac2af2490cbe4367d619f44aebe64e2bc52831a52db28d52932131b6abc5c8714ce0c7d1137a494852fafe3f458f4c7499245d62135db829a653e6dae9823311d382ebabda1dff5cf5948bc960360db7a787248de3d2ca26a67dfa062b93d437c2f5fa71c688a51375b27237308180d987f372a19896e6dbe3912455114dd108435197c378237b36a5a0a6175bb0023408ad72f4a9510e735bed5ce1320e6b705ab5d9306ecd9a935e62dad769910b2a74a4720d2b9da7ace4f8fd188c7032c6f2b9f1b50c3a697ec6192fbe98716569748a6bf3e914722f58dddfd4a820d12fa9ef85edb18d074163f342f95b6fb806b58872b65d67214889284806411cd34fb11d1dc0991afc46b5f5307666f35432774072edf56421b14a0155403fda89b6d2fd903268dec22904b2f8dab6802bab0588725dc3ec248d97e6277d8d6989ec1204723500c4240f63ba45f258c95cb236b97268c5aac952447959209f40aff68b14c152e34ffffc6c25f99da57901191bf95a74bbb067fb356ffefcbf7d27bfedd983aac6790726f9a5bd6ccb495cb42f86722067a2744c556102d98838734742935ed55b8fd03a0485d02b293227b8fc4672a9a2710b699493f566d85f16a4ee8654cb626c386ff185ca00e51cd8e985f363aec3dca392e6bb4116742fb7b1a3fa7763a3eeaefcf6612b53d09edfc98455721d803498e3243843fbb87c62642519745f3688f1e1821cedf2b589ac2a5d2e6866e32de731582ecef5f2ca83345e4e68447fedf253c1759e70af456f5dacb672bf7af369061f65dbdf550d6f41e0c32e2c6a466bb62daa7dabf6581505c3ac7249680e1d4d78de4c527b510e8053c43c4b991c776d880fd1833df883e05cb372c7e61af2262a1403cc8ee8708218f22219e996c4cb237e2a3a31e13b9d92f872d230b901db4521982ec892a31075726664b7d89431014f29dc96dbffab16c67215ea9ffd1715456839436148aa1b5166a2ce7d5a5389d3027c071ac9b355147214ed06ae1d57b58843303de750e1f831d006b07b9ee96147bbe59d56c4d8187246761e999ca61e655807a6990999066a2165f5265abd9bde8a8a719fd02f3c7252c24539e7a934a927045f3cd70837e2e86ebcec7be959fef06a0f3279f5ef0e03cbe36707cc3679fdfc024c02ee210a4039a952714c9275ade176ab91da4d72d42871852a1034d67fc7ad68ee3c7095ca72cc0da217bed53306965cfb1fa9310a989a4720fd7934be7999020d41b213e2f125cb69dd28064ea4a1d0fc9b624b57a21641f7d643b2390e73486fcda1c6adc0f387d74b3c5c80323d7f116f2f72aa76efec1e12167249840e5a988521fa733f45b9f1f029736f13507c34d1927221cc96302779a3c3c726b7691625be2f5fc58c1834c72695b9f7e89883e9d67221dbd359108d0f2717a0bc6f85c1702025f2c4450716bbb7cd64fc123b02e641443d4885e84a635faae0c304165c32268ca91d10a49f46eedc807c45dffedb729915056cfd0c7257b531d8bc83e7b320815b7ba5633d27181f1ea4f6bd321b7264caa1110321632d48ddab5f716d8486e4da48257fc37b4b88568a6241d86d46d45c19e032647e76f30b62442357a4b05c9161f6a8591d6e4a74e4f7f17b95684960f7dabec9d7bb3eeb71f2ff96d05204c5b88d9b0d9d2ceee61a061184662516912282c650e8c35723aa4d89a0b44d4063bffddb50e87d1966fc05ae679c3409d8279cd9411364f8bc3313ccf40b8231cd290fba7c88342f945f77cf0151726441c58fd8105cb8ad9761da8a53af5ac27be88936cbee1e2fe3f8150455566aa6e6ab7b1c568f686ce0babbfc54e49fed8766c4e0fba7d79831921ab0b03b7224cf509baaa9d780cca1ab68e91312fcd2f6af778ed9040d6ee144463b899a63327c3fd4d577d771561f195b120f4eb4434da9d458879736f5fdca40538c0214115947a09cc2b00501841a576ac84e5eb71c3793ec0f7c9d95a6627d5a159372588ae6c46c58152220f6e0b4b6ea00980d34132e768e2b5ac306dbc437c355720839d2fdb49a828e1def70dd4246a8eb65f9227f404358fe0abe0effe7cda8635c919f3f4476b0c61be50eea8c2e8b7c30d4dbecc30687df93ee08642f0d607207725e0d59bc3bffdc8bd715047add1eedeaacfc79707ba83d8326783d933b72303642a3af52cdf7a574dac13f07949a6456cbfbfbc4db9e4f39f0b9913d7f6cf5ed633a6fb60c1d14775101232a6f61057de905f725cf7df2665b53012c6172ef507a6e9cb21947d48a908568b56f10abd27eaf1ff846eb7ad05f853f8f9e59e82b865e62d350b02fbfff52dc8679e856efe8f291fe874852a5d9717c9efc01ab17ea8eb5d10e8987813bb48cdcd8aa1e1ca44ad6059409b0156c66b425ab0f141c050a8c24c19f5ba98f90a22a96aa266c74a26a55ef2f5136e58573671e72be8414ea329eb71d8544af044c1c89fe8d2878588251433de99f2821359f806e7b68454a4eaf6ca227069fa88307e5a7a130defb1b1817ef69638b3c6ab34c47c47a060872377bf94e7e94acbd57a124712177a6060c51b05bde14434c0a7e6688704e63cc6a8714e6127b7032a8e4ddec84a8cbafdbf610023e2324ea504c7295227f6b390a1e460a69af7ca2631dd3c2ad38214194c210eed928faec0cd31e43b252f254cb05847daaf66ce38aa524baa613042734d10e7bb13a34bda1841c97d05b0fc8a2497d5abcb28e83d1bc074cfb434f7a37bdfb9ad4032a1d483c2e8112292cf030f2158b2d615297cc98f8806ebdd46ce2ceee19947a4b147b2b2066b3b47f8e63fabd8c73193fc77e0b0e9f1d14e807e2d3c89d5ada0610ddc2161a63f7dcb5bd83a396aedc64d8be3475fc41472511f9f234ea0bdfbb1c154e7276cba627d9337e45bcf453d77167461a7430ba8dc1f680a9e84377bbd827831c57f5ecbeaa13917182f09fe83c64f4f3a84ab8686752c3cae190f8f0ef64230e92215b9ae8527045e329f89cd7276606ef3035eaaaf01412f52e85697a111462362448291cf8701caae52693af551139a9a831601340e5202e05150b09d5c37202952aa656697ce2b72f07625861ce7a300298622df29ac8dfdf83e71a8bcf241eda292df5e8adfcbf7ca54ccf2d4bb670cc09ccab5f984e614264fadbd10072fa27fdb092e98987e388110b53ac6f538f8ac4cee213917253bebd6af2726772c825cbf3635114e3a8e591f5a0e1d02ce8babb3d3337b0723d1c1bde79bc305f0e3a50c137bea8f3fd7a6c17eda287e1e04e43050085c2b0a5684a8282fd7a72fb90fc97535478b9073cef8bed8449d2fa18036d4b1f9c6e41c9bd49cef11e72d0f335eacd762347d285875091451192329ef586d398b5b3b045a5d8eb97607288b9da6bbd2b06b7a898a96948d048611ff058abbb7b820b76ee81e4ab856e72bbcc1adaa9f862c4bbac0e7a176a47ed967dc733e2db7437f6f5a5cbb0470772bf6c611209a40a92ed0e086624dfd2f1666d54965ad0b61aad6142b2468e3e4f20a074f641538d74bd5a4ecfaffd3fce7df438bfb797bb94e25a029f399b06727600ec2362c2f8e1d5d5c1f0c74aac8bd46a138cd4df21743c79cc64c7de2d72e8d4b580b1367c3d759c123daa9caf77e2d8f1cf9dcb250f6e4af1652b6e5e36396d3d5db01f5f476c1318d7a97e5b591e4cd709cb412e13f241d353a795aa1f73893d53d9f7ad538544021b57189e33002d0ec54d37f57c716ed83d4cd5317293257517799ad152b42da428a6dbbee5a34442330143fc887c02b0e997901c7229c892f960d7d4a1764abea7927bf72a808c3774d263bd67664e9b139902987227343ba6611fccc82128127c91689e953ee6be1629737da5f1ddabdd448dcf7264c18eb95d711d4d4f71b6daeb765ecce9c60ba28b29f44f74e600ec1d52092598d43d2724d04a221c7ca0159104383da2de746a7006023b537260490fb0c672c06f872192eb4ed18cb93025b9a11fc23d907f7cafb9a7eeb9c1215b767feb33dbf23278b9aaa0025072151bccc1b84f6a4254818b8455709811d89ac5fb4e522cdc0e47d11d575cf3875ee6e0a1d837915380ebf1b7b8ba48df6fdac58d9772c28fd63193e4db5e0b7136512877137f83051a1f8f3e9ae07389000053ecc2724ceab3387cfaeb9437e461631c7aec2583d90c63e0b5b33531e0e32f39865670b63e0a670c34a1dcdcc052886b494fcec50931cc433049d2d282c64e195921728def7e60b1bb38312fcc0fa85e1b9e50ede1444713188e840d72ef110db7b6727c8a783611385c2cfd65c4769818ad877a50c75f06eb3f7a7b444a04f946177214d6eb9026e3f326154514145c1e7ed4ed31ce3ed9b2fde9b7c8675196f90e72eb453a764d01977c602d4d0dd3970214b59b48f4bd18057d867065b39da192725a7aca010fcce4c27b4bf931a7ed000930a0c57a3abf65687005d86620e40c72716b2fc54d367514df9f88159dcd302d2b41228ec0f71ad659ab56c65d1f69723318a1c9df0e27e8b649fd5bc7701e94f54438528e56cedeef2471f1c1b5f10a540a2b84007150f01788ca78ecbd9bddbd82145197b62c010198981de2f100725aeb480e6e0a6a863f0e495896a3220f4fb5b0e4de9861cdd93786920c9e25328853777047f8b17db92e432941efc55818f542b5974d1ced27b69e0c40af55728c1f20a798fe2f072669e90d48b9601f5784340d3d88aabd0568ce44977eaa4f31381ee09ce3ebfe226e7009be19905da2c42faff8b3c438d792a487c06981729feac8809c1e04b82dde68869b53ec52c10019f2127c3533b8a98775ebc2eb72d8e82de6e5b3c29632318469a89bd59f871c164f09f936f91528097c902ab448df926b0f5be65a56152b38ef3ac6f13d5bbe99a8d508987ab8996519272c022fc30b05dc128b0d78b48615edd05dfc599f575806395c8ff49bf7f55fc9c6927235d7a447504a80058b350df70a8f5c11b290f66008330b69075869a7488d1f002c9dee70251037aa899b36cdf89bfa92549169a93b1be2da50b10961f2eeb972b138d9ff26a10fd2a2ffda4a3ab34c55633e5243bf5af0127d45fa8459aa1b7231df22105ae3d57814372069f6a080218e1f5bb953028631782ec54e48f774727adcb84178e9b4e114d4d725bb8bcda7152d04d1f93c86179143a4c22e9e2a7206f2f05f54a1eb64f1682251e9ccd4087fd08fc2918462469a30c631366049727592c494e5bcdb21245cddf7de9b0a0b2fa7451080e7de9724a4ded677078b7296309c545901efd3d878f3533f8713869960b140a2feba1ae5e9d0db5378537209cc17516fa2b881afc960ba79cf0d21c591be9ce3fcb43c429c99a35068db72b251252b0b377144822e7b43bc99f44c6cadd501eda9b7de1b93a72cc6b682729b666e8f817cf16bd023719d42ce387380ac87d2362c4f330e4393d4e8ace372d93f0f6f3a60b204844160b33aa064551203d17d52eb759676b66b4c9ac5a272ffd7ba87a49293094b706c77b137fbb39bde5f51513d8fe98267b96aff8d011123f72b7871743f690ebad75d668a80f8a8903b9ece9eaa7f3f51b4f53c6e505e3a4a29ea6f959a90e8d2b35525627d75066bb5cb804273e2f11c9b396e979e53cb3a1ecbdf48bac967d5bd13c8f519f0fa71bf52921256aae09feb50f66dd772bb147844f187acba7500bd53340cc37248e98b95fff5a04f1797a9f2a2537072bb220695f4ff8d58afb7467960e8cd9a6b2e8c164e624129ce574f42d283c072813d284fee66ed9967ec06d266d24861416112491be50207d144d7ec67ecfd728db4c18d85292c6cb1bd3c77a39b5c81e2fbc2e534f43ccad2396b9109365972a9807c78a0213ebc085081ec358652a4ffe0e6f92cd03429a9127fcc8c2fc4728317122ec30d5977a989b93bcade56f9bb8ff3900cbd1fb20a09f3d2209e353c0ffa335064d866ffc23e5d7e696bcdc34fd77607d42b3f93b714fc7882ee776f736fdc8b66be03331ba4a872bcdfcff0a0cc53822f497dd3509e38a3d340f37285206ef2d8de9ed26d2e7e818766bdd0176f62aac9bf2f802939425ed7775c72f0197c9752f8bc6620a85801c895e3304408f87a2ba43ef14513a3b98f1adb4ccdb4c1021f5e2c46c3d53b32e3e44fa27293f885d6ceae98b993be05968de972d0edcaededeb1b57bcdf0fd1f1a20679ffe668a7db111062540b306e84ec0f65e54c7c649a4c716b6b9e522107f37185177d64b8a5bb172e6b8a06a3779d187233b8369a2a6102b1438305922f9c4888a85b7ed79794d89e600c4e62d64deb0c8d6a467db1aa0dd3405841d6980dbc98ea33ae8ef2d15e4513e730c1faccb87210b3be463b1b07a6ea2b88f7de107532f8a4b3b6ecd11b03a935c5c410a58d7214b8c331ea7b54684a800a934772ec45be5fb726c094c85536f7c15cf3042e12a3719cb25767f76ca4ea7d5c7db9c427036e6848055459b56fa6ef021de78b518b68c634ca0769799a9dcf3f327d43569523dff23001b36229716a7678b08072d51473ef5a3c0646d473b28d4b81bb946f2ca8f8e1ea353793eb59690d169572a0c012ced19cd4bca26e241f4a1a4c097fa9a16e503851c90471b64d49d77472270793d1188a1be316baeed5d412f86f925a8248e3540c527a9619e06061eb3ecb63343eb7f6b28a41091e6178220ed2f981b6509dbce58aaf6ba6d6159b31724c85e2740a563e980c657e46bc76b982f73e9d8dd2c5f34bc851829c8cbb3372706b37c14526cf4300482b3aaf8bc613c3bbe805285e952295e4fc143a802872943ff2a089f053014dbfb0656360157b7444f6b77815708276c1a365e69eba03a917a35fe1e85c24d1b16c2aaa52288107286852863109d34abab3e64b047c4f14d0521c0d87d75d40d58b10867a156060c14b9299c672a39187116312ae02019cb580274d54df6288c34ce38350fa5bde109bb3c213441e15ad4ab6aa736445aa337eeadf4b1e9dde3087b37be6257582babe33ffe1b1fff6cca05cf1f9ae72b2a78299851476697f4f56fe4e36da8685783dc954c9f001a56f716925def12df41935248c72b356a0f05c28f89c61a4a66995d04b1001c7a48c0a3e3258a76d63e13a5ce522870af41c72d7ba4c639e5821d5e20779202e4051ab08b55c3172ef7b7d73a9053b494eced42de77ae6ca1e581f8f3d7a52902239082173c9236cc56646923d558e73f7ade82516d90be6cae69b27676d3c935bd850a13632aa72a3b621c5111cec897f7a6ffcb7dde04bd1329b3a127167378c2b80b0830c5a72f9592652cc826a6b709798a6c2ce3f288d07de6c8ec813f657cbaf933c1a3b7248679e2d6c9ad5b8b4bb9a85168553078bcb4b7eb0ba8a7c4a617ef6c9f74072b7dbab0cbb6668e62048fd6f83ad87fa803a8d8935b3ca323f9a7ad32995f360b0e269207e3124653c4ca6400c993d4420622eccbec416e158b3512255fea47253a8fc56f7dbedd731a3b29e06fd307a66bee4bde9a51d10d4436f7404aa58475685a94640a110c547439d0ce7afed7d3f434bff9a87eef59d1297117b9d33723670f86ff9d508897a89c6c861184f3ebf8ea163581ae7465be28ae9176a5e4ec4a426d644a38b995b3c96acdca4c7d9a6387edd4df4c251fac85102f62a1d72511dd1582ef0a095db2491761e2d1b152ebf8ccab442f4896165a4cec2cada72badd3824e9851a61c94b153a4e76d8351f1fe90680043c752bbf2153495c3172ccdde16310ebffd7b237bb59fc779daee97b3e20540133a4aa7384e3618b6e4912e663e6805e58364e1f3a420e2640f297ce388815f06f0eaa3e7edb5b6f3c72803b8f97d426a09a5762bb64b21f4540cfc2613f875080bcf113e193b2339072166b88250b866edf632bed75d7e3e4c0c32768fbd6646e2bba1d1f18923586727fa5f29405aef9e6a18416a17d4c3a6fd5bc9ee19a4a220f6c8803ee93901f22d5e6fa378d02c8aaa4b75b333051000bec6706bda5795e43505339326e7eb63fc833540c75c2606d4768bbd480b3f1971159e1114cabe632a183d66c5626f103667929b055b9320924e748cdd97b9c21d5a7ecb82cac8dbcaebf521681803d7259368a004f053a9ea380b412dc1acb24ccdd9d6c7dae2071eb59d00555af527220d2afdc1a04c58c311132dc6c2fa93a89c8687cb76c0d53e5659afeb2df3c39c3a79578c93d50b755967b879e1ec19f4ff86d1c438edd3b780e1e9b4f017c023e011c209511df601b7d379b74d819d5264680200a09ea8bbf6bd8b92c1c3e72706e3572de2ddd183f33a8299c1de72bf2769fa9a9836a913554072633b1a172b48dfb61d70419b07517cb6d8f3c7f42e2f808de61a6db1486cc88000b1a270d9807644876a53d9cbf558cf8ada377bae16b81138ae1344642e87801c333b802ea05ec2f9c6aad6b0c29fa1101841d8a68672e9e47632651d479bde033e549360b968436362503bd0468458d4548388ef515e1d62846a51f86ac532b649aa3572a08ddf9106a1ab4edfe3b43bf2f7d8d1f42e73671d2fe23293d48ce20cb6c663fa47c281ebb7bc199939b3eadf38cd1b88d4ab1ace13f314e7dee4be862e072238301bd3ffec1cdddec6caf1b165f2c6d5fe257dc2afa262376c1c39b8e5f2bb97c6e030df1c458dc7aded123c0143adcbe6e64bbab20669c7d8b9dbf93016ca16566eb4fef98101fd16576255c41244cf08063381af32a7ff4cb63cf4e2772e9d630a3ef93c578886548e80053946826186a252cacc11acafe2685f4ccbc72a133391ba64aa52724686d2d2e319268c8f5df11c25a6346a2e40ea891c81f3376c112f933b79f5a81f01c97729bbd05a0d6c315e73e8f1a36ead77cc53f3633c28a9af155cc4f5d4d12abcc1120f5589d99ffba30cec4174d5fed868299b872899325f84df0dcafde694e3b16b103f25e1a36afe2f793c3e5000f3c689c6f72d78eff552e5dca3cb6bc218d3f2fe2f3c7ef117ab10f69a655d951f4d5c5b65a0d225ba27326cf00252ffff19c0e13f60db447f43c57e408ba30f2ed8dce5b720f9e3184a053b841f23fe74b015f0906c641f7284965fff46dc6da23cf3ae131f39c406dfdeb690d207df3a82d68f673eef5aedb25563bcfb212bf16d9e30f06cf73c7b392068c9e335ec51e6fc0ea4c4a1cafaacb8a8fd22b0c2dd3d02e30722d47c80e00f2b4271a02d7ccd51d7082493a7dfae21b67cc1971df903969e672cc427f5afd8dcf4b232e223b325074d6c76c2c4262f9833831ee90b34765c755182a3d5cab9aad4a5a9d5b28e92bd2e5154d5506a74d17a2ec31dd5b3538a22f6f66efc15737508d097bb836abc1c598ba3b5a26f3406dab42ba9380feb50f3a17d8ca28fa4ce317642e6176c466842c134036d15e062a7e14d6f4293f1b2472dad48c7c09d5ca3220a305af1931d216fdf69495c28b34208e849753f41a4a72ff483015636778f1590422b783497539f619e37bb35b8af95a6d1151b1557d720d01ee690347d902b15c24337cd07362fc9175fc0e8af7d8d359507f239656063537b000b404832daacf9f52223411b7c5cd85e040e1983c1c20506b48ae82724c6cf329db983c215c055a0d79685d7825e1cee7a14002b57be819be2083167221599731ce1484378a080054b9744a8ecf9e16a56c803b76d0f1d9dc6e039a60c07dbe31a4761e33e8a41b4ee0677536cc5fc8c6ffabbcf58e7076ad82f2c34123b428bdb2f416e278d95474dac5049bc358614f05365d605162f371a6cb9972effe1104b2e87352af8a41805e0a227c556cdc2838d3187574d78bcf6e03fc729bfc0a800de7b915dae7a9f3d359536e631729f2e9454a35778a141d86661443f5b3bf4f402b6bd082fc83f897938a269795c80d4bfe342b46bedafe361bea725e99c8f2fa1d00c8a4e04a38edad9eab6267de459fd8635ce205bc92b2e488037d23559c007cc75be45e8cdab2c8a7d261a3ed32dbb47bd052466452d60d1c72b86379a3fe62051388567b339cff455a276e7d6ee5075af64bf527469a616049786070eef366f739e4787ac52429dea53a215362b0ffa72c94093df7f751a4000d3df81ea4114ae64f93011a12f52f8a876bd43ceddbc6304cd5d5d9a9360d48d17fbe8fc814b97ea1ddbbb4040bbafd486852760bd15c285206276c6f0764729ce8869d2403c188b4d42174a4e1061bbd10bdaa07082ee64fff0c5fdceddf72017c41bdfcd4f6249fec93b65ca7c16df5ae74b785702b1fced08b6275c2d3720f1869bd31760ce1070bcadba0d63e784d8392b50d58fe1623fb1f1168a51109fdda4f64fe875f1ae75e3cc847f38c5650d751be17c4d7ddf81dfa64909c9e08ace438acae3077aa42d17bb71f158579efd0cf95f9f7db79e3c73dcd85e27023c9f11a44e5d9d17f23b7db24e51cea9de52a571dc097d1d611bce41a94e66672054b00b76bdd9f794749de5d6234bd995800222aebf8272b60847bd4190bc852c12a3eec79cce9c1e5dcc61ac2b3b6102aaa261bd5c84152bbb132ea2e64fc564622f7792183b4fe11458488151def5b087d824f368a18802ee6223a2bda76596759423e20797e0c5d2442cdce175725cfd3363836f8e2271d6b3d0c4622c4726c42dc39f1565577bf99b8ed9f8a269d6c23e1b174bb5768795049d11e901d72f46a90f1faa4fdd1ac9229a6fc62a846cb407a173c643037f75776f8cc54e24e079728309cbcec6a2c2c94bc2db6f1b58a83e8e2eaf986a3b21c6ca14348df31d1f47911090f9a5cad687f1afd0300ad927b89799d0e2b5f621ecd74bf5d9645771da8eb42a6462914b2e2792ecc0358f7bd1dc4c9c12fb1ec87d5b834e30472e736470b3c2753f9f73bd2b4bbd2406faf19aecb0474869ec0966a4affc13572e99dc019a17f89cb5853f92fae0ac041829db1bff1901ae1949532d7247c3a5a29c6ac8307805f55f66febf28210f2f6196063f8e7d32fcbe4a23aab66043f5137d91844c7548a69c523db29c76f40a6e5ea71a7a26a7185cbd60670001c460aead27e4a11f0de74b6652ec0ccb079c459c53ad71d6f7a4fe786f7d99911b572dd7bc7429462ca01cfa5b331fa4af7e6ad787463d5fdf5406555d0f4321f7020d9847e1d9a4faa12eb32c08297668056cd20af424c6dae0b07b0e4bc24e1334cbffd3f11d948ef27ca33cadb3280c8364392394652a378371c3d129559f7b041af70b7cc30aa21aec0d6ce8bcc955f8887a952f6980622d4595f0c5a55e159723b4d6559bf6f98141741a8d707185ea416fb6bcc04a05d0a1847cf78d056183b428443df6a1b539bb9b1eaf0ea2a6dad5a4361e4fd024301703ad399f8f5227248f888828d0f9175298cfa2b265c69cb7b809d402ab11f3ed6212c24fccd2572c8e414a8993da435c641cc8027d2f9786353f15982dfd6cbc98fd18076885972f67c7e3ec28fdd232c0b34ae10ce126453a29f4d6f97696aa1c6945fd443bc72d8486291733e003d358841ae741efaab045f2e7b1c22789b40a3cf0c989b8c72feb645b5861ab9cd33c6fcf70ff05509b0d44fcb68bcddc7ac0895a4cd5e127286e586fa2599694c13f02c50dc3259a62b3a52592b942fc07a3ac31818292672294364f398958c6b313c769176c44fea9c42e982035442fe50ca479038a1bb53b2dab11df120b59ab23f5a20e3f90cb01553a92abe947da1190ef2b1046204029799f162c9e9b28957644897605d8b73b7eff73bbb875289c7d9d4b8d1b1856e30e0e1b1d4b070025f7ce9cabc613c6b49fd44f16f6120e71df433d0064d3572b24a2d020a4e92d5eb77461cb829a3abc3e58f53c36da273597b9670bf413172eb80bcdc1111b7d56751f25cf5164ffb65bc8a8aa4211a98c82199c486734f2632defae9840f38ffd9ddda0605b42c14d3807ed9dd4b764cdfea87e7024939727f34a6ae0d784b5c9b2fb92b76dc95c60c43894d80e876791b1f9aa70bb0c072557e41d7b878edbcd8d4ffb87347e6d3e30a4c2f8f3bfdb4a6563ab62f238a726fbdf2973cf8a8377500db30e37639417071e74476ed82894b87e30df398936804db3801975d70c6225b13774cbc1e265d39a23bdd39866cd1a4c99a4251c246f68fd10a005ec0f6a54d236ae592ff2d630ac0a481c639b853b488764d10474bd753f33ebf055e856b46c7c7201ed107409417bd4c2cd9c7493ce62444ea8f724cf5614d762566568ece39e03385d7046390b38e19e27b23cb5d8888b5bac2721afa2738bf86ee712bfce6e481c49acb29c50eb3da81f7ad389a1a07e68fc8727bad8552e022b4a645cd4725df5f27d6331f256b93208933afec74911ca1a372a8ddc668e756cdb026917a6b6672096f3a5ac5fc4bb9470183d8c3ff40f41155c8bdf1d1951a66052ee7853ace7accba79183922c3c3dd809eed4e44856aeb72eefb9bede73f747e5ab4ea0703cbb46977bfb2e7c896f9b1614a7bf569abde1382d3094640e49d17315283b177a8b1554af5199d74cdcd52155fc05acc535a7242350861273127357c52e4bb381782cd6e829451154c33ce5911e2bc6be00d72fc4875943def905d2142e276776d49b5d8566508af78494d1a47662f93949e42606d1d31041be81a8f52da476d2381033e1f856a23cbc22b6975d0a8906ad672dd273167eb101334a1cc47ab93c8b7db17479f509ae4cce4ea450c63a1ee3b7284629e8775afd2b2dbc68bd6167f33e2775091c0658ba8322067fad8fbac5272bfea75ad8218aece5025354fe9f72c8234ae116397ce080c281d387b288ac372db103cdff16da23fa15a2f1d737d2c9e429f2661ed54a4fed211f40d754cd27249e7950fbd3c34aa40d24c0b9bf5435524720c8c4235767243d5381b8c767872295e1f485f69174ddf1f81b8283081607d64c75ba3c5aaec52206a764de24e72fa1203ce8b9b271623c342acec6de5c66c965e8f9f6f1611ab608cdcca4ea451122f445c99fcce41eeda8f825ce895799fe7075ce78670ce11ad69ba98ff20729b4613884cad6d68e4c081241f5d7ce3cf3f29ae43d1095f8e9d2acfbead1753c5fe4b74900a8c77ba94d823be338d1824c0b269453b99a651952cbb1dd38b72c093de802e2ff351f5dcfbb6c218761e634cbf3398337399af57d6bbecda661b19a5f203c559a3a509771b96d55853c4eb08d492ea42bc3ed6dfb6c097ec530bf664898b5b32cf8e2138dd6dbadfed82aa65a0abd03e9b23c76b4ebba339bd72970e0d0ceb71f2c529ed91d5067d3b9fc0e78ebd91d1ac60e00c63a412a8e5729b8846c936718e3906f345d5c3f1aea89fc4f4bab5297e884be20ea3aac83f7269a5bf744c6b805c2aa5a5287af900cca645596377e2a9aff33c621b34846771a064041d0e455e8e4f7e14c5a671f9d2937a18b1eeeb656c53ef2f164c0f2a7212e7cf7e51b2d6816f5ebac08d2e8d681fcbbc372a20e169d54d51796aa79c129d38944cf3489ff352179d39b713e2c221baf14fe0c5baf785ec10bc5503f152428ed3e6c3e7ffbbc8cb883b3101e6f06640891406ecff39a8e0047c14243a729a4e9cf317d202018c8df01ec1fd7df5869022516ec0d54217efd915a9f8d072a5f1e8a093d3010b8eb68dd6b73530feb132c74e48314fe34597bce0a1148448ce2df6022f2378f7abbdae39ceafec662168c712cfbf12c020dd31a29e140e309da4e9af85045730fc063d9bbf502f65244f0f23cfce6b36da183974d9f6e15acc8664961e2e4756c4353992492c83db54b28911431c9730ab359bc32d72b672243641fe378e35d714286f36d1be1de9c9ab5c3a261e817f3faf419f14fa931f4ef08200b3c3a25bc0fe06750fbaa1d4a8bdff64a10a826f166e5e5a3ad12e72f808f4706fb6a178ff4b3a070bcc2ed0fdc7ed6f9b9ad4782c5a75aeccb0c57276b88d2ea5562a948dd6ade5c02510c36e072fbc9d87eccc9c693a2e465a1c72db6ae77293f116966647d8ee14aa0aec3f6e70727073540e30dab69baf6a9572e1bd6e67aff554a04e0ef02fa81bf701569569d275e987fc37b503a133975c2c7a57c1cc9c4136320ecce49473fd143eda54810f78a08f906a276523dd30c770fcabcf8d372c5b5b0cfaa3812d5db216a0538ad7c842cc6912cc04bf36b07f4945a83e5ef9970fc2e598ef25a8fcea251ea07c1c6a911ecf1ad6255e1e87a409109faa5965c9f2da232d84b3c33bec2558f8a1cd0b8a76b2fdab0b090d2e4216bfe4974423eb1eb4059c25cbfe6baf270006d21ec411319a7a0b17d89a329b62e1b6cb638c546581e9e3bdb535dc15b41f9567a648401877b7b7225c92151123ca19e2c0fe4f4ce4c1cb251814f130d42c2743a6fb2f15dc2e06be8dc0d7cf2a0ae8d30d89226603840fb4f0803bda88a6695737d6b54118178c08bf7b804172f55841a3c53267f04e64e3c63a9a558192b4dc3b2389d103374d41f01941682f88fbd8030203a77828d188bec622eee8f61e0c1c10f8620179ca55f84c940672e0a41e7b8b0fa1f6d35d405b5c923d57d747a9f494fd0644470a1b8fbde10272aa9fea3ae35b9e187e665316737a854aa53735d5b19f220076634b03d7a58b72012215568cc6ddecf5b94c00c7788fea75b18ee29b7ff4c538638a580327dc1b6c7b965fc4f3f053e5deb843d603938c73069ca6e664d00afe62f382c8516f72e4026f712fe490ad7dab82492008a676f4d065ee7604594f1da1bfafc2b60023fa1db27c661576e320dde24a2f6d13d4590c3e53784663d7507dc2920513585dbd92777340673444e2fef6d5a2bdbc2f8005557ec05e843851f849b253cfc23ff4a23eaec86d438f15d4fb84cf7596294b57e9ea6386d0cf89f2ee96e79b94726567f16199c6659311058bb760eddbaf84d42bf458d7f9a2af81b2b085f9fb7245f78ceb3e32d7b046948916c84de8bc1bab2b96e7d3fbeb11af05d07ec89c7233dac13fa20c62fbe9031a51f45cb1c85747d88d7ecd7284257466268863c8106553480adc1919a8950b92506fbcd3bb82202dc3a91a8c74cd70d78cd338f14a4d6084a354624d382618ea347d81d6edc4a12f65c7d049c26a1ae63b62b0cf2f7dfc2a016e64fa1e34a6673877c578697e28a574076f13f5a5772e74dddde263f39589e7bdec156f9151b09ef1c413c1d49b50d1d4cbc2b0a92c5adf392fae723d7d84e7dc4406061e2fd9be043f7aeb733bca49ab5420a98404b547fa66764a4481cfc6c003191c5828aae266ad34681cf491fecd7c78d309ec757b9206ec721179416566eaeb3f1a70d0462f5d45c10b263feb3a7692da6cd3d777744ce13ae0b0b21dff48c3e3301bcfa90666af1eb6b2ce558eaa69930a963dfa07db484015954e35382af49a2fc15a6a841c306cf64e837c282c6b699cccf8751e58fe2a12bf8d8cd532a16da686d4bac0c6ed1c2d4f7b7f09055c1d02196fc8a45b5c72211c470fd4a826dcf595eaf4fdb2abe548d64f24c9f86d0018fd2d41ddcbb0501ce8d17815fc99ed29adc6983ea5f29a99492d2cc3f421eb4b69999484d51f57a1c442fe2f1c6b2ad82098d87495abe388e9e58fb57d7f778ea8610c4946fd587fc6a66adb8764dfe9a497b5e34d6bc32da8f96800d75b3fca87c7624bd5d072c3cfd4dbf5ebd875dbc58168c5a0801fa0691b925af6b30475d64a29b8fbed72abed18106f8ed82d08f3c090c05c6b492e28c2a7641e6a2d3997df4ee7ed4135fb376934c33b5b30916c8fd785d3b9ccd7a4e5523843b72acaab5eca70abb5721c41eef68e58bf6b69b1d275a6442494d98b9cd195f1bbc2eba70dea05a7e50745861af3223f22091e31d027447d2ed2422a30dcb71a864cfa161707b091d772167452c8f76189925beb22f0f7db8728a456c4319c1f0e1f7fc51474f3f8d807339572d0f53477f5ab333701800a561c2a9e1ef46068fca0c5d40010bfc9d0729f192554f9e7ba1a07d05b498b7dbef6453c6ce7eefaca86cc0ce0a8a11eb5408aa4ea08804eb68fa760615fefdf718750beeb68a2535175f720cfd46f554922195e3c435529aa8b970478e635cb3e8751fb037f039dc253a5b7fd2b2389c15a588c2ba60504840d6681a925b8754c35fbb7b06824acf6ad8d02fce17a424a72d81b50a3b70e67e0cc1c0410b803f655dbb3c4de7ec96bf57bc3551ceca900222e5c42ef5b73358400bf1f536712f063a1894112980456ab3c1ce9bb754aba72cbd4522c46507281448ee8b7702cf2a78122e26ca4c013effaf6f2253748d72f70eacf9c5076f9e4e1c687b853e6a93aa361b2ceb49298050de427af8f425772aa6957d09dc6d6c46154b0fe351e3daa4104460d41991fc5fd87df2456d6e87296da62086be4f739715ccd45a2056053ef2881c4c5344f2c05c4b8c86df2e072fb385ea6b7f6a2de65cf8a33d7779b80fbda8b92e8374ea5775829a65d0c0a725571b6272ca5f215c83e47eec66129a3b7ad67ef15e0a30a8b97bab3caa5c801732ec32fbf1b72aeb4a4d1ec8edc43ca014fe8ee5e0377d366f7e10249229a5d83053a4d60834e15ba87bb7ee26d649e8679b00a138704c28442023e1148bf72d8c52de42f320b341c377a139f7b1c26bb92236ada2eeeb612e5df0d5618434027835f364ad3931f699a4851e6e1936b4e1e5e5f27e0c00d06d92ed440c9c6108ee7910345f97e1b5cc63648b3416664bb7e0a6920d30c55ed555ce239beae41f76fc21f609d78583b131788edc6a4ea45b1b8049dd72614b7c6c17b4d357972b52f2ca13e262af1ad6f8bea337e7d4a23d30a04d3e6fc4176bd9d3adff2aa312938298baaba41706fb6ea1fd2afd76d92d198580aa8acce4b409b9ee5fbf07214abe34195d335c16ae3e1c6d428f451fe42e2becf111e05115c25c4e4b3d9728de6b5c4fb80cfdaff23f6a07c50040b443edb5e0d8a6dd95bae02a6e15f635e549e8a8812f47aa3173f13e26fa06572a22b3b50fdb27c08c419a237d58baf7277d089be3c3c74609eeb5e8d754ade7d4b23f06b039329119bed7afd79231447cb692f53642854acfbf5be8e8157737129253b5d20f93b45da9b6dafbcc80f2961743ca1aa564749a215294ff53f55a6769da6355571b75ca9eb1f57da3e085027fdadba71a57a312fd983772e07b8cc745a49073c7ad9b0ac0014af71c49061fa86892c12444b119b1a2d03507aed642babf37e5ac9eb28dfbf22d650e8857205722e53092d556acbcb7eec3c172e9e4a985d0e45ece6c38bca021805f45e155856c690ad7b620be78f959647c6b8c640794cb9a22c25a8abe545a13866f63113b4cfaacef50e249973538d9f342ce98b66c1c0d6ec26b4fa7fa684185096510e9db1190b663c96fc5bf4d1d4c0448729adfea68179c4fd6e65df5804344a72969c536b46e8152a6798ea2c6ef56f94f1804d85d9ff4f7f1860a021ae11ee05134200e3f3410e7cf804260f15109649b376368e7250164fa697e601f897ad72fd9d77edce2ad36c5d061837eb958fe3bba5ba677dcf53eb5c2b2f693173bf72abcfb428839d43d4e4c0815d27edc8d77f66170f27800c7e8f985ab7f3468572d0d01cf077f92a4294c099b603b63cc3abbea18cc5f7456f4fce71488569b92585d22152ad221007cf2356229e393a83150acf90d26e35f3750a2f51191ae30f44254fdcda4e2ce1829aacac076a4fb2633951ee11ab32b3f9a809871a5582728bcd15054e9b243037907480f0ecc4dc417ed61dc240becfa5c188e4f119e4469c9a81888b368e80a04c5314399a8988160f1f400c64eccc0a343ed737938701622bec649e568961ca192939b87d10117aa97eaccc94ef3a7979380dcaa120569ca06975da51536b181dc35cb68c30c090f7ef2078c2fe0212ea720a21b00a724a12962ec0b9b4454e78d8a7ec328eaac8915682a95c862ac4d70e44edc0fa72e46335d4a10b824ee8c2a0b5c037ecd9a62000298bee8debe59b0e2ae3282372e1c764eb884eeaa86f3212f68207bb1013bc774aa88209930e533808c95ab07264eb900f733c576f76029dcc518bb78e0ed1d239527c226453627df97698f9727cd08aa83345cce9b0b8540a1e362bb4c8b31aeb25887ed8fb7ff22af92e497235b5587102ca69404a3623ac7ce85a802fbac8fa3da92bebc9f3f304fccff372ffd4074410bef7091f51ec0a8faee2f587a308034b69079dfc12b883c63f7e7288250802e3dd9feaefc55ff4b37eafd0bfd8591bcebbf0100eca941d9a74f8007fb2fd472309eb488c4d7c4ebeb5edc5cf2f24f7a4513f87c9e2120f54bb113805ac8e23c695a93d0892fca98fb65759a01df1db6fb7f53e574cafa8b1b12e72a35a0e67f75bda44044504e41c0f6f6cb77a03fd12761a7d54441c309f93927212ca45e54b7769a7946aa34cdf819a1bfd7530abdc662340195a861813b1f70fb0fc1597b53a9da3a8addcf231fab399240bc37707e4152e40305b4d6058ee728ad546099e70dd68ff0a2016a5726b7304011c7708e1ce40b1ce8cd152bf3c72f940e6b85b2971ecdfcbba485759dff6ab51ba5341fd684ec6bb8deffab742097560c7fab6c57d42f66027fc031062ca388d653e4335ec4bdcde322cf4f748620631ad7deb0426b868a099a8a57c3e24925506fdcb6065a54cc31f856c4ae872a0ee420acd2e7a85bfce496724b1dca19f5d2c7623bbc120e425745d3e75aa72666bac82768588da5d8bee788e7cfe58d6d05d5967f4c53e5b5671c32112ff72f169c72f051c8a41d4866154a15773b9b2be853e57941e37c6c5d817f2e18d48f6714e58f87de19b5369cf5d29f21c956ff67aecaee552c9ce986e3ee851093eba2349db456c54eb65beb3ecc1d333970d6b5bcae84a89519add56e6755d7a3200dad3705e68e67286b7a7cebf06b281e41fafb74112f389776fa4a7920fa1729a744edd179c9f0d30ed4611050f77055ef223b3c459e6b61e4d984b757a7b6dcd81f649166a4c20726e09ab4ea12952e41225780f5aa1f1b522f75176a25506401ec8a8c376861e720035b859d12968a69a44f22c60bc440cacc59860f5ad72f6c9e6d3249c001dc81d124acfdcb150d170aab7352d3a632120cb3c4da9d972ba7f75350d7c3af693ef2944512553596400fab6fba62d5677e7752ac4ce49726ba4d9f4239806ddc2bfb1d325b6db2acbb90ba598d7a1d4e0b80691c5ef1671286fd4b4f24a6b0f95a3cdccb5dea1d6a3bbcbbbd77495cbb4c152cde7d8c372507783164813423d66d5a882f2e2194502179ea6af8f89b7df326549437e3c3ca6f708e2452997be1b9ba785e987c404bcfdd699e96e98b7d5aca5347fee9e727d75c712ac4aaaa33061c5caf9c2a5c31be705f397a298353909fa9bba82db7227eca0374eb00bb7d958624909333819f3c7f93f2546dfa2486733575415f772638ae00100e996c796f9ab6ab4b5b5680c174d6a55539b54121cf098d286dc2de4fc9087594689cd0070eb6e94c4ac0c4c0245ed39ea95911f2c378ef091d65d553e9e022af009bf6fc377fa49d6392f53f7e63830c7dbca5374e624836dec724f6d77cd43faf246834b91d76163d86192e8010cc21cfe558e69f5b1bd04cf72f8695249ac7c26ebb493c77df0b8a1d295a503a9c04237f126f22c1fd9215472388815d9ee350b4f0e4996e004e06a474ae348415d7dc5b6a97bae686d237f4134c9e62b5ef410d3e8f64422d2f51d9f0ef832b4d3c198bc5791424ca0248b7255ab7a59abef63847c0769b78909870334f68a762f3f8e6d417028dc8445595960c292f5eea0d9c652d61f38bb3364e972c3d946dfa100e8f59cdf98323a0d19301b679fd2096d5577a626b167668fb8632ab709574a8b98151d055d66651f10239649757773cd2b4423738ec6929326e451e4db92485fd86efca2d5a2fde91b793da324200244b7b544fa1659d3969b10cf80988e36584d514727de2442027231f0e6e5913f272385864b45fd47b1d2dd30c7d050bbbd91e3526cbd86f1ad72a9867bda1acc3b13482b3d67ea31a1b2917555133b1a7e73c40bd995f88e89721703dd410ad3acef2c7c2561c1deaae4418922fc4a64a18e02283b838280ae415b6066d55c44b99609bbc7389409e432c62ec06242a0aa1fb6e74066ffc8267267ff0fd6d15b5f6271824ba6daf54401d4fb6e486b7b7d4889973094c51ca84ac781b04aa953f4b469bc8e3b75d3faaecf82e7b082af0e662112500a85c746725592872b15f4b55c975498292de10278a50ee90e8184444d27517073daa9a472409094ab7f448142bd7cc9c953d10fffa92cb5fa5186b307029d5eae6e75cc5d63a52d20d779537f49e78678359fa5b9d850433058020130ece64e54be006c4a8ffe5723d326831c94150d93097cc3234e53877aae5899bd65d648ca113b7746cba1da844042adcd539732f8affe382fbe82ce9702cfb72cca55416a136b06680dbd1af6b33596e26fee0216ddd34c47390a7a8040cef900febff7d9298b2b723333e9649262d53a4a4719fd58cb68e62643717ca2f1a1e6481807e0f52e8417c9a8e7709fad26b326b873a39a24ae6f0450d8e3c9fb69a0471171c87ffe3e726f0ca856c991f93ebc40958e41f064fe266b6bc03190412ae3e95bef80833172705e1b6a4e6f48246a47fa427ed4926824c55b7e6ad287a5775d44393d47537237395fa77a41901977d0a48027de9645c969fbc2144829da8bd868d92808b472da924b757c86ea96d69c17c20bd85ec6ce34652189d41604f9398dc555ce7b725def373e9ba3abbbc8f6a6337bd273309206973979dcd8e765e0171432f32305b3a1b000f2dc899b29a3a2195dd3a8ade9e3b962010d12409bea4111c58c33721fef34bc4007a4d8340be1c151d0a05fe78c1cf884baae8d29452e2dd651b621521a5ab4cfc4e5653d6ce87091fe5e02429275b458c7670490bf1abde0ebd05983bc1de1f01e46feb4892ba016c3ca8d72f833a7b1a95f85a042f39c296f6e72a4b02270a47067582d04e62a143c05b8c070e11285c870a250a2d85b6e4c7572716d9b3af44ef4d97e13d276e0eb33eef07f602e3352f0b601955d5a7b6cad722f62de8a492f08e45768d5e5106f78afd921def8a29b440ffd53bc14211b3052bde336ce78d83c875d1c117696d2297ee13982e935d93f319379f1281007a172363e3d331f9a2995d6f90581e936293213e80757799642a7e9a2e60df014f772029a91a7a9a8b3af48c5939a552af5f5ea71a729b556edb67cc23611105da70017937c5b6ce839dc6ccf8463f67c3ffc44e0d8143b8847220034b7c52a243a7294a47f9197dd1bea6d0b2fac260b1a83b4bf35130b7391ab56702ec4aa919172f203ea12f8d8bff5cfc9df7124c0d10435b462bb1ff0b5c953eea82a1d3f0c43f335947fef7fccdefe0829c013194816a1ada41217482d1d18561888ff7c3c15b27e123f7d2b44cf79e34ab0bc240f8db8dd9c1f153ad60a7f093d51a2a1f7103721d743a420304e5f9d036cfdf79e480157cbac44a02a01d4aca68870a5297218eb3c85231593b3cdd72b31585be369cfe27b23a1d0d856e220061911d38a5851a4e51839ab9d20cd953453f61019d340dc33f140399d441ddb81b3e77015729ae38e44361538d652e885b58e9e1f90a4d146968267f0540ff86fd9e36f0a72752f4df93a917366260b122f77d9e10e8058c281aec6b4012e6c2065bbe635720181579b40140be0062bbcf28333eb556c8635808dcb5a44ef1419d84296874cce7b3d213b753e45d17b76fdf8ed7bf9187264128ddabb77309b41d06b350672e9380355ab44e8d617c5992202f524031b4bcf22c96b6dbe3886f6b5cf15cf236c6de0aeca04add6b70b81b02569a98ac3ed2c6ffb6c58371daee1db1e06496b2b57460cee6c0b5526b7d48e27c3cf7fe02faafbd99ec66607d8eb9bd69ece4155b96d6f6cf740c0353d38fe5dc7ea4eb74f9cc2e59482e5c39a9aacd6a8893df708839288a643ef0ed17b52330880f8e7cf0744acd9254eacbd644e4c1c2372437ad46631f1e5f24d400dddb6f04204f6a273d103a98032b40b58ffc7a7e83ac960d2ed489212caad674ff8ceecc74c58db5f5b75c308e829f184c409ed1865e3f964c1b06bb889cdf6183c23ad5535a2329c4752b16721c1a9935eb2b9df29a7741fad819bfa12d2ee3b995461997bdff9286d430e3985c2c02c55ac663255a45dac83dcec781750229dcf94c1d8f9a90bafecbde03a4d0fa6c82315066b72c3133d807447986ef7f44c2fd5bcb7e4d6f2f3e821f2a2b4b310f4ad184e40507fd8533416eee6afd95a7542bc4bf90ea5e76769def06cf1303eb72bcc72a73c1231ab11fa168eb0e95d12846daaa5913ace49e670fd82a6a81540239b8c3d723eaf74c72a2ab2ee34df45e3fb4572c406db2d97261357b514509fd04e6932643e6d064ca72e7ffb6b1606cb5b40af661b8f32d7066e6809b43b7cdaad272b726b3714e52755b4ad40270080a57ee5849d23db87ac239e79fa751090cb21ae1a810ee73180a34cc376a00ba1c219157886a62fd22160a8b2e0a977dd45579463a4ed3d1496f98cfa1c5439a85fea1feae10a601b1131c808e108892e5f85d1729198cb1c9952965473bf733e754ba60505ae5833993e96012cf9b195293106725f8d9a4934d8b7d43345a677e6622593fe60f3a2226fd1a702c7b96505a5f320c114b5ae33889a3db886a4e17e690e413b3f32f19c14aeb33ae67852bc895823168815c4660352a1774a8f5378c8b6d6c3fe89f76dfccd784557f645dece1946168af9fed15a301a2b1c4c9b7f3090215f5fd98ee35fc2c63e2da69d4c63bb7226a646062ab94efc8452791ebeca190cfae9563502f8974f015ea542027ceb7256e273b2caefab6c0388f39f7ebecd8754681d7e07b168f76e3ae82d494782727a7bb155283d1dcfa861773ab32a17e99a255f0934df6cd0647f937ddd228572c209c9c60f04a56ba919fb56c38d71d85e8a28f4ea9265a96b839c4f23219572bede1bcd1b508afb70860ff2a12da8a51ef97de0c759d04ae0042938b255197278ff7185532ecc1460873e2398c6cbfc86a4d456c956aff49a203a8c20b54e564eb4e2ef533d65012f08c96f45091e71fc5e8331f193b72c50797ef4126648727d9c162df445fe81e537f0c75b936e3c9de28f2ea58083b4bcca544812902072246671f321e6b8536495905fec1879e9da027c9bf12de21c8ab67b02eec3ab72802257d1d7807509db48fe60a670e689c3634c7426db7947cfcc37be95b14229921f3425d5f8123372b9f5418029d04832af975625883c79018d77bcc5309672ebd3d00d851bac257ff4e2ef477b542030d4b2a5265cea0cc94c44cdceb06e335d8f2f7dc504a5e201bacc7589a4b991716d5e9c55cccf8a021e308cd2d64c72ff4e8afa4e2a8c753de2dbacf9a0c08b6dd5ff2d57ded55db53560fbaafeb57278d036cbe58a2ea17b363e32d392d3b808859c0fb50b9aa805057859c9d6aa72a08ff8a11105483b20edfa006ea85a9d57646abdf1ec8efb5cea1676cb927e27378579ff65878e544cb3414f02dab8a2def123a3b33adbb7d792ec90b9cf5a02b8709ca828c82c8a5212dc65257ac17ec7d8b3a4794d6b041b19e312f36298654299492c95a11e0e1ccfd978280c7f50177fc5d8af4b4e6a7441f485f1985272e6421060f9f520f259c776cc09501df4d84794885fe7bdd6d9c14cefb5c8941d6b714743bb08c0b23f197d479e9aa1bf190e6dbdab50d0d2ad2699365752625d439b1e038ec1e800cb2d6b6d6e42e35316de1e2c8cf39f6586d8e8ab8d0c8772d109046c23fb12e7a7076da9abc2bd290dd0893a5444e5425d726d7544fc7c23656e50e0332e5a844979fdf77d4ed7137aa5e40541451746163a203ba1482e5c112fccbaec2588c1d5139d8e4ba53c83a8b016182c833948b5c577ef4266206151084cbbb7c26a428b2b28a404bf9efe0dfb12f5087da232e05a34a18851a972637b75613065c82b051a54b173a56a46f3f5ee299f931294d963187ebaed8b72e8a22e33570870fa06a33b6d570829b80b1b1a90b77a99aa1a83af91d938f372017cc1b5b6c81fde08f4d6bd5423ffd298cd6f4b11377ea216c802849d6d4046a05c9f7b43fbf4b079dd663963d89e8d2c1fd86c41c64627735d24aac7c99c729a5934f504304f7de9a906dc95983bbd813243f6e98e8e85a3f880da4a57a272508528176c4bb29fbfc6fed99ef935122e7023252178bcc540b6020522be6e727fe0d197a0a28a6d5c10af3cb3df85b49d23397c225219a63627b5d4f1adfc04e8073cd60bfb09125bb7943d3a667172bb3345a6c2eb9225246a09872f0704519aba2b3424b93f53fbb498ef21cb76433412525ae1408dc50539df6e808c8e72a6f89a4d70d15f1b44fb1710b66d683cc4587741b0826a313c6a11474c8fe800237f65d45e81a9cf30b114880a9b15f1fc43bce904cb5b894bc99d9bcda1d572070e9e7a3252084076f6d98b518e39a4ce98446a8e0319b5f34d08c824fb0332b4745233b0c0f3c417e0963fc33079435d1464219b4c8a214b104297ac5e273dfb8a051b8ce5c78903efd5c9b26fac4bd03d726e512e2002ffdbeca83f922d724dac9329e1300f70a9bcfbd53dff429dd4117fa87d8530741c4df985986ba572afde32629649d306e1cbaf594f1c82e329f824517827f0d74b50de427f4fe07227e48b3ac64a78c237d10432ee82f4854b05b88ceeba05873e8fcebc1406a672e7670794c4f843146b668acdfc940c2cfb617eaee1f2408f50c01fab28869139232ee72df2a3874068c2bae3dd2c6949cdc4417623170d54cbca23a7c655364d12ae2cdd3f7b8f0bbc796d7246874e0ce7148ab5dff46fddc8dc7e02e6c96a72f30143f7f44e29e8986dc8a05b70ea51f205b5bf651de1386913d4997bff931121a1563a46e7f439390a54fd2f91b378db0d917512e9deac4af727d172d220722daa65efafce48c28cf484925f1e9e0be4c8a739b2124f060dff9f1d5e34a72655f365cf009dbbfacf0d565ca5804b750880f8088f4ec074cccb06037a7bbd728e0e402cb857517815b6c31ccf0973199791fb1afe96e74597ca50d5535930258b8ef0f30eca264bae7d908e3f258741a9f4e11cb0b6562f30d4a19a7d5d24729f4928753651970135f83ee49befbb950d89da18834ba65b3807723eded244726517ab9716af0c413e4083da5e189cf59fbdf2d02c9ebfaa09af02b297bed4726ceacda23cb31ecb1547eef8d8430c3b79df3141b44df9521af86a6dbfe162152d96a37548ae81ba3925d996cdaa956f7df9817295d382aeb8d64851adaf6172f1b0eba3d0efbd32c3acc60dc4d9e405913770556ee631a926d14851e9454564cb657ffb736d1233f0d3ad7187234a0ee84f31435dea7b27377e17c3e95466723ef2e52a47a15526346c3e3553a17ebc73cdf311dc5cf184380101a8bed6ba7249de7b85357a14a81a80e917f8430d3bea08e8b097591ebee0cf472838c5a954b1a56f03af4c8f902539a81a69eba4a2f71bbf5fd75f4db98416669a96c68e720eb2206336447860966d4f4deef3737a33162173cd919dd82b121a21f5b3c04fd8c1100f4781ec2fb34afaf78ebabc6b3de1861db694b8488ea9d8d9a7d42372b214ab5617e97d11c3079a655d25abd20e383966adb11326c1bcaac1f580a6724608bddcf72d6487e3ddb491cb99a7bd734e835be339c3a9db56c19f16275b6c3a8287da78f9e0703150b8a194d12915687a8cbd523ff90f9b04a0115d6b45722604d867cac5be2554cb8a8293e7e4b86f8b0868993a77d4fc5b1b88b24a85728940003a013d0ae96ea72ff04427b1d2ad0603160a12394b18dbe1035c041672a002d6160ef50be1c04d471e6c9e6ad56f690c4ce429d651c62eb096f6ca8e3d78ef64d0bb1f36dfba9c9082423c80e35998c7ca8d84aeb9d196be27e3cd577274b73d9dbbe52f1105bdd0a6f8243a8ec53da6585cc1958d4d0f50b4a7ec692872135a2e9acbca62ff943fed5e2734cd0f7b5c984068d8c7089df46a28ccf372f3a178f4bdbce58136757f50b3d0d86e7ece0ce7dea903baf14c8c4737ec50721494d86836503b686cf152b63a5160b723cf523084ae277087b36f406779227218e8948927d5a04609f82b548c056339cfe523558db220de404ccd2e6bce8a7267fd158bcc939b4024f5e3a1c6c0c6066b1266dde768a3add2163cd2e6bed33296442c7c74deba64941a6b3d5aad2f66e9d78e4a9ccecd80d4db35a99784a872b07a305e64cc7ad49d7b60fdebb9b5e0c7dd80f4e68e15964b998aee2335be24b84a36583be03d8acae2c546f7122a089641e2d3c1104b8592860dea4336b7722bdd8234268326a454c9aebf618bedff95a46f6d40be16c2a749822a536438728df00d103321238ebc0054202a003216edfe1454c059faba619fecc2aedcef727c50222f531ea437c5025e526c5d6a0356dbb286e4923a2f98f19919758bde23795d8322990d5ce217f49dfba69d1246338efedbe0b1cbf14d50dbb55a5dc44bf4fb3614690f0d174e43ed734cf1efca3e245cb417d61455447476438a63df4c67930520c293f71c3811fff0f9072c51685905d87d8237c9d4311aa3aa379a722ae4da132b95891b1e4f47e6b6158cb62a58bf016c97ca0f7700af0aa0f6c7729b074c3676bbc75fc71bd52da76b1ac08343ef10f0013dd05551ec0d232c5072bc0763178c5247fe1aa63d7641a1443dd0d4f28abbdb1445628f791e43772c72c10d153b6c1b872d07497b51de0d1c7455438fa77c2548b50f12b7a9b339855d7c55ca6930434e71510b6e3f179cbd064fe8443ce5bb2d177365995d89a12a72388b7d3dee27f33cfe4617582fdcdd4b2ef9d558a61d65ae45b543f7c62ae44d40a0fb652c49f3c5bfce2984ab3820d64187591d2f77b06e61d0716cefea1e72a008d1936a7a6cd57c0f99ad92858900306e99c4c8f11937d450c8861bbfad72dd2a2fdd6890f1088050d34381999b886fd6f01dfed4f331e410dd845cf8a672971346b6976fdfe36bb5e5e92663d91b5a5a57d269eaf0ad86b5cffeb001880d08ee83866fe651554f8de389d7bff4ddbd76fc561489216223ad536d82e7ca2e18261eb659013602bc4de430487ecf9d777bdaf23eed3d63405b5f4875f96a1d2e181111315b3e012693f7572d5b25a6e5ec8afdbca02205a1d1571afb7a2f72fa24bde9616365069b230a744009269cde1d5c8f60d01b64c7eb1d11c468f065cb70d072136ad534bc123f0699c3d7d96c21811280b14d0c628c20d2e8414f72dde839d6f16ac6f84bf1a702a6ca6f165d51afd6c63ab9349478ec5a469abf721f89b28d4e238581ec3a56ff142698f6d0dcc7896a7789751c0977c02a12db722725505975d6ed2cc4a652e39e8b3ca4ccc3d65e6055c2d32b418eedfaa17a72082680503ce888876e1bd73c27429c55a8a715b3d6ee39edfee99854c644da352ba94faebfafe3412236dbcb1e0afec478047f35ce50da6f5c6d794f36c86f7298554c1bc5f87db1b6c8ed0de14e5dda7c200bef34513ef77d794142c4242772a149f9f34bbab5e9980c32d4ec8d8e2f0f220a300ddc14ce50ad335c8cf526578a89087b74b921ecb84cc5c16c035dfb084fd3df44db0ed7542510f8b56ff9728408178067bc717a1577da961c6f658943241a69c8299bd98e087831b64ca77225d67b09ada4337be58913bc3512c537df72e1f5141c4943e2b4fcad2f61b0721f58ea6229b7d1df92be55668bfe39ce6b1b2636efdc340232932b68a9a98c72b803ff522360913dca623999d860171fb3ee45942b26a4b6a66364fa3571ea722789f16875279150c2dc30fe84de94e428c4d7dba6ba9c1ff7ab7b8a300f54172f283075b3f84a63200a7168d57d3a9458fe065385cfc0a0b3a9d6e7f7e83b728fc6da6cbf62f43e700e5865b7ef42009c9fe44df623414757d4852e5d1aa4727f7766b26175e3102905396d6b0c5e0f14b1535840eac3acf16f9c7be2c1c120e0933323ce6e9ccd0d6ffc23c070704f89e77a6ca753e97729cee153215aeb72f5672b7821539c38339b4a4fbef9f320cd96d934fdd1ac33838d5ac76da057373471db491729e4fd7b8976468f550b0b7791c058e4745f3d9da3d6f714e91f7250cfaf5294accf737cb3e46ed2a32d0aff4fb251ba316a30e2ce6ab8097f19721c95b5707bd2673d02b01841f3624a39432af3b8301f7756e75c62dfc2382a2c31915a3c09de4154cda2ab26e1419b7f9363a98fd6764a0836f9ad96dfa69272b2574ef41d19351c5725165b70d6d7dfcc2882993143f6a14f0e4606065a3234923a3e76443768be78c9957e1cf7ebc8d7681b5d7743b348432dab4a37c66472c8aeedf777c6b31ca6fde929c645ae0d3704691b3de494ca3e845913701a767254200f3fef88170a8511fb6d691a4d7073a2ee753d6afb3dcf3e1bcd5679ac01a8acd9a0c9bca87204bc72f398d6f7a0a3bf938dc33c413f33cd709988aeee369d7a2820c14f0c87777b8d52ca3485fa8e5c25c9ba09d7b43184fa8cae3114729d917bf003c84f3b1a5f146f1070d6f1460bfdf1e1eb084215d268a5ab5f027278ffec38e5e71a45850e553da2076d1a0f9f19483b490d3eda803daa60039472b1b78ade2eedf7088654ae732ba958dff0681b046a86652e00100bda1cd7b008b5ae6f4935b6797d870c50789297114e6b853760f63603113d3a71abb9f8477229715f49f7b5b471a8bf2ef27aeb52a752d411387907574631a831635cb29f7263d7c7f0a3c31df38335f8435e065bbc4ccb2821d513307638c022c8f26b406d3d742a081f5075300a1976fb1cfcc4ea8af1570ef39c0c7fb985f9ded2d7f2723446af8cfbc6a2c2a1252710532838f70b67a5b35443a7891b02b4159c69e272ad4f549278fa1ce5b93093ed973693e315fc64cbfbfff5ffe22f617733e5fe6f200e74ca0759bd1828cf2415f8e44ddeba302f9525ef427eedfd6a09f962a2577f28d672a4b4d421b2fc7de36a7f2dca77c5b2d9e29f71fbf022d82b6d0eac33ac30245d7ec218bc42200112e0b879499573d12d4e05af8a9959a32be0817f72ab3d5f986a19373b05ce19253eb5aeec473b9241b2a662a14b9c59f8af007a5b7313793a735734b0830ee116a327bb4be42169ad66be9f5d77924ced35be16721e5124ebefff5f94b2786d1ec7822e19e816450da53cb704b89fa73705c32155176137e65906d361a8ad049e3496cd9dcf95c89ab4ab80f1ba24711ac415bf724b733316316cc0009c8b8378db700e157007406871b40fed71641b8e4e3dc2729552706d9aa405ee4f27ef10c00f54ccfb4e3a06fc71f90244587efa6c72627281410c9bb4ae8869e57d139e052026df6f3f34a5528279fb59b9c31982fd737203ac742a61d463819dedbc56b6bc3d65c4571e86aa5d757c374a399f3a80305ccc112bb4d01f915770b9a56f9ce883cb3d48d085e1db6a74fb6fc230dd223e72615cff7c32c2c703adafd59cca271afa56438cb710d198ca58738a346a96f1722f32e363a7e41b2285424f717968116d6e881445209498b19db9b960c274d60b8d4e3aa64cec80023adf5524fbcbf35ab6486148daffedfeb66d055b0d44541556db89b7569a41acc6e0b805c15aa44ddea7e19eb0eebce59da9e86eb11ae472b4f592dd027ec451d4a72b4526a516813c59dd7aa8739681d4c791d725965072fd225616a9a0f3c0e1956880362dbf43d92b32e353417a3757ffafda2ee0a5729feb5ce3c5a3cb186b15585312c40cee7b6c1fa422e2bfb74088062705825472b1f0ab33e7f0c25efe0daf6498addce6f0f0ca671a31f2f996672ed1a63b7d72282f01e8e9899551942ab005d502d93f7db4127efe8d9c9ed5a9a8832796b47269881f4758c34222d2d8c8de0948a24c8ae8daf11d3f5f8a0e77efffa2cdde72e4e4e3c75c6034acddaaca447cb4f19c1da26b762cdc6489790a1360cc23ca588dbddf1458771ce520bd2792832b96bd8635679df8817e9df719766203ef637258eb0475b93a452c07b86ef77ac661b26bd4392de61a637f9782d5ecd39091720554bf0830421d981c2fc8b8ca43436139914cf24154c2e2f649aeaf8f0d0c721b4ddfc64dad60706ab102d501f5c35325c984754e0ea8253b3f99f52fbe7f7247f708efc16d23ebee9d06c55bad3d2679156f181c33974a92dcb4ab48cb5e72e51952e0a270c6e62987d6554851f4375f3bb912b00b76e60091dc9535a00a2bb2ccd1e0674a6326660f9302d9ba5628b50f5c6841f03086acb5d8fbc8a9b972c9bd049ef26851490add12d0fe9137d36bdc5cf366d09360113046c8c5b51267caba3abd1a3f05eed140815c06d07b3647467675ad6e599e4c6b8c855cb8373fd9c32a5a41888b2d1f42ca8c4fb7e1299c3dbc5ff12e23f00f90ffc5cf5ecb72ec363f509f17b0f23746fe8f1cf95e3049ca917d148c8e6e5d5f81c58cc6a472502cea01dc4a6a1f7436ce5c1549a28a9f1f20e3b182fdd4ec995646eda68b72ba1510f4991b62f53a16fb77cae0f1d32d88990131f4d6fed0ed51108b1e506d92730ca3b096c50fc09316605f456dce696904bf7f081686dffb601a249a681d45b3375595b3d7c6fc55c08e29f0f1274fb88529b19d1fb2b067db797b62717225bdfbdfd026f4c0603d58d67e25cf6dc3ae87416542c2f39460e9186a3318723282ce5a3007e75f88bfd4d621acd782f8e891f642e729ac07c69f2a90823672a3db8146e92e9f97ed40dc4029d45fe440d4c697a7078edaf1469788c6b1754f2494c5448dffb913d70170ca81f61ffc8a255f8fca3b85dc61c3a0db50ddbf7241b832c264aa0eb17cace0edd4c9da22516f6113152212a5af6d795db576a729d27d0c379654dfd8a75097c679f1ecbc261816464c2b172894f4978aae0646378977db467b0055779ac00c8368edfa42a019cf945f0b3d18e621d66920cf207220b9d5959f5c9d7303a6d07fed5fbb9402ec4c6128d6ca36019c88f5396af272fc482dc46276f8ecd05ab29556205146d1b8983e8bdd63b71d1bb6d1b12ead52dbc269d011da5c3b04fd8e8792b9eb8019be1d460c2d1ae27919917b311b8d722dc70c93a0bbeb83976387a1570da3c27f3465be54dd33526cdcc2f11ea76f727bb7ebf88dcd7e80868c0e0f2eeae2e78645b2258e780b103ba6de9e19864172e840ef400efa913752ae4e7bdd63dd4daa0fac3b6dc02756491b37ea4f8e181a81d4bb9838092a4308082f59a17b6925cf4871ccc992812d9f1139d9bb2e317218062d0cefbc36b5e92c60d5d774627953fc69fe5c3da57bd26cb0597c2f8516ff509ae3447fcbef1d0a0444cc4b82bdf954259cfd344728783fe7b45fe32772a6447d74cf4371b4a4e696000256599101b18298b52d3be62b8c163652a9c63c2989e62469dbbe64ff492088bdf7ad2ae18bc53003a91751f2fd35158da21d25674101e0e0d02689349d1e2cb724b5258bb4ce830db9f92969bbdf76db65ea1c1fc518825b3b11e8579a1d133034aa12e32979cc41ab8d8cbaf4c299edd535442ef142b282fe2617015207b44fd51ef7c8116e6cd99fd3fad53d55e7c3f2ff3df734db271170ec1eff15612db185a4ac2e8ec00acd0a28348608aa4af0b39f03c51ab2c6e501f7c291096ca230bdcf42b9feb3aed5a4bde52820a186f207166635018a36d7605f77532f6abad6ea0d2405c294b936273d7623a676a48983a26ac92ef8b589095dd82d0885d53e154e74e0abd00fd37c6dca8d5809a538803d46fdeedaa2b9b6905edf2b4dae7c3623692e0fadd090593657b8474b89a630a0720cc6c1099bf82786fba3693a3ce19f38d045e8af0bc60a2f3fc869ef7153b072999474e71db7b922b772cfbf6afb25c8c1183f37447db479807846ba844b706d54e913a788a4f2062e0b05579b7f56d932a542d4819d37427d95fb2ef078f4720c933988b13f90eeede0c7e8a729d13ddb5ad9bc5e1291617788ef10ba732e7206ad2706b6db2a72ca70daeaba5373eccfeea218cf510d42b18874dfc2f54f07fbf530d89088dc3b18f088609d384a111c3b44dddab5bf603f8a8f7309014d4644ab30886e8f9f5f0865c4cef9afa67af3605038fba11c9590897196c96e1372f01e349d78ea0bd35d7b6a57a0f7f954871869c37bc5926750aad87748b8aa61b8f96da7c83ec3b6768de75920eb858238c08aef41fa7e7910a2681dac51db16934d681aa43c1239426d352f0b6694fb7a370dedbf63b7ade105243d9535c85459c494eea794eb1c399e6b795c7a5e7cbe5783ea7325bb9a5e2e537739e55872fd3511071c79f08b7fdd3af793f2e8f6709132b98c92b00beb9788d291d9e67238e0ecacc603cca68b7c6272c6e93f8da0cc0a3bdf0e4fa4c58661ed22ea20720751b247ce875fb74cdea3e0db5ef363869faf67c5d1601bab85e8e8a4f7e872f3db425afc1f7f20ecb9a56858a9a1d34013b2e9a457037972a2aacba56f5b35a97baffe6e5c47bdfd3671ee0124503c10556a0a1076b06cce40a00b585312720ddf5a35d2fd04ef11716832971ae1d64e0747a5ea1bea9f6d0617e4f5dc9a391a4a7f57fd5817a782cb5ffd05aa99cce7e9a5ca08d34e371236e0743517d9721b6df50cfff6ef424c0ac734b66f3dfdf75931858f873c7b1b9beb7a056f58729a8116a87fef3ecbf4b7521d6ffc8aac78be3cdb54059f56f7d401d2d9decd7250fdb51b547f52023f30d2de904c9bd36cd2edb8c46b0edbed60ce9e5045e503bcd2d08eaa88ea950bb48543b1becfe980b298c162949e679cd66c07e7999b72e0d3cf943e4756c4f92c5bbe5d87b5e5c96e338f52c4a9105ddfcd90a3f12872c1d6b50fd632d0ddfaaf05c56c9ade85f8da9db171ffcc44a24c4320e9285c6fb81cfa92a0bfc0a12d21f30c588af8b9f2b22db5fec274f3b82a8ba1a2a6687289371809577d0a104fc3bf1fe132ae8bd078527014540a50ace6104675cb2e61e8d292effee08d2c97f144a4759adb9cae491a36960e82ce2604f312bde68672a2aacc599681d3833878f879fdfbfc4b70747701f738a387273ce9129fc2de1a9f2d8d91d44aea8853d4b58d1e34c54262c4fe84a73469b3c35603855d08d8427929d8d0c806b28f87a938bb9bb26442a7cac5f5ac5f2eda7c8880394658887214d998595ceaae720dd56312eed614ec206f408fe3ddea9ee1dc7376cc798655d657370b4fe8751901b096661fc31dd587317a6316252646817407e0a4cfe9259f0d4b4bfd5b0fd61532ae1f206082b9c1f789f6ed83a3b9ec3c724cd6579172234ad955a9590a589eb6c5754ef04b4952ce8aa70748271c71845ed6e453ff5d3eb3bbe52f8673bb721592e4c5f98c59981942815cdc8961df3d787430f1197238b38f023372e7dfaf15975fa8a4c4a15a7b0ee64653ba7a5dac3b40c3d3ad722ce9bbac990f142053b67c290d3eed55fa1386f3d31cdf6f51581ef942a18854ff8d5551879a4a5b8f21fbc5a322d21564ecdb6bf70b90035387084e659a462288d56b1617345756e07399f4fe31ac9e5604dcb3b3f70474536146ee959a5b65f806c402d43d5f52d4bc3e80a84e60a0d84c0debe4a409f5fe4453151a0c2b105f45e3ec6219b0ce860643a73337ebd8275e8d9fcf57b4607c6a483994ab323bcd0e9970d98919de28a5cde390311aca81298ddc5955217480df7e7c5430837263094467ca2c0cbcc7e9e7666239f0cf5564f705d2ea8eda509b776587a6f340f704fe439aceac7bbae948061411eab112306399574798eae8a19c157fa7275909fa0b8af6a00fa2944651e45ff6b56fbbad5e27e62e10e09e368650f65d99723a4d43ec746300bde94e0a5b01a20dd8cd78f61fa9eec27ac0c6b0015595ea31f8630fe26154a9fe615c59525385e18be3202fffc367bed594639c9bcd18c625d434e4ac04a8742bc94ea770e82dbc669d24e9263dcc1085fbeaa99afda90d722fc10275d0524198446c7f72506c4fe7f989ad351f975bc572c5582fe8f4f64713f83f656d745bbace2f25ed6529a5c848f39836df3531f1d62819f9d7698206e188012719dbe5131f503c1b8d7b9472658ebb680fb6d2fc2f1ea9d5331e3572397d7c00342cf20ed32d3c9c4e1b205dd31a5dab86d73a2a5967d3eaca71f972dd13249576072edf686614e44a27b7e5c900d3aab703799eef847a5eeac3ac721bba543b8a42c7f6db20fd1e5234748948c2c7cf203b464a5055772e946cbc4b83bdf5ad227e516b4fe8b2ea1017f11b43ded503523c407b521fc68e5626e772464853fc499d0f6765f8bc2bdd455b8fe373a53a8be89e428b0e0fdd0692fa721b19aed5cd7853c58c0df881c88c06afb4299388b1fb886a9c1b781576de5544bbe47bdb343ee7677f84977eb7e19786f483aa3aceb4f539517b6a17341ed47230a410ddfd797b63881ea3f5d8ef8b255f71dd3d667ee77d4a3ca8795063c572e29a928f3ec321a839c581fa66c58eaaec2102dab3df2265617e10881356ea722c04b1e0d663979b3d6d2094cfe7a284ee160c7da2057dfc5c43e0438f19c072a55ff1c758a6d6392ea58d45615f8c7adffcabdf305e8e63bccd5a35df7a192c73a24e3c14d9f93ec2ea21ccdd3e2f8f33303d36b79cdf69caa4ac9d2c71dc58972f9c7fa747d34337c95e491c571d86cdad94958a9a710612c3d5ac3ed577724887af29da95615910dd50f6dcd0fa24b838517b7e47e2ea1535b314d6c18f72eeed5ef85a48390c97d612024da8a82ab078cb939deb33c12d02df1143b5bc65ccc9ae9a6bb5b933aba8403886ccf6ce2c990261fb43047b0af7ce20cc6e8e478376e1b39ffff0ac6c2258e9b874f3054c0c0d71b2a2c8e926406354dc7c862305fc63b65368c5da1eeb18e18003e71e567f3a49fbb8cb85697ea9dd30c55452ab5804474041e2d44d3d2e6f77714ce863712230fe626400ae4328f1fa17a754edbcd2b4e38139833094bafdbbd580288de1b71c9b091ecf4fc40d487e85d872015f8f308c4e383d9ce57980c31363ca70e5cc90713c6cfb9693a6ab7ed501728c6d3dd666fd0eca8801c8fedaa7d93ccd2f6600e1e77c7e389b897f54cc07723fa7eecc9e21ca61b67d064972bb19d7fcd703a2247adb92c17567e297b3857205b4b3f8d467e2fb3a1e802cfb077a8555e1570aa6f1b4ba472f994d84e322241475f178f3914a1dac1704411e0ce1a454539915492826c3c0f42449c0db783c62a85e6c0fe766f10d2541f4886b65656d8a32e927783896577ba41e03464d5a45d3896de184d34ea39583a1b67be3038b38c42eaa3bf77d40f3b2127765167203956a06291638a04379a272c476f574a9ad0a29af518e165666381dc5030228180f86082a60c38aea4a506384db343533f2f015f134725cd6fb878b23f8f805f7e66b6a563b528da6f13cbc52032cd30cb2be4f77eab5ce5903f64349fa237295cd43fdb75cf7c6c087af1bf1009931363b7f6e44637753db61daf6fe2d8a4e895b33113a47e6c72d33a9091de58d57aeff3e2ef9a9eae81ea9d8b2c17a571f4b105797c0a352961415a9aa457761c8fa9097f3747e9259e398cc4a1e1bf272c3af8f9c67e4943b66ddd26c25b40a80f0c484bd1724947741ada96a86cc1f720fb84479e823fe0a1b4ef100330f4547b5a53a9d84449a9c61ec25ec2aa4ca7221972b123ee2999121378f1c92a5b3dbaf6aafd549f22e3e7f9ebaabcfb77f72d5221dd2a2798cb60bf7772e41b5310d5126a25030226c04f69e65894777097271d43e2dd18ac1c48db90f4e844f21ad17be66b97e8a395f38a100ba2faf353fb55ad60c6be344b0aba8c369abdb4d9a4cb7cedf830623a2799bcfda2435256f7f8f96c34bff28914947f9ee9a799b78241282f2af3ad1d273fe1e5c97d1e4722b567ed142f36713c3121079af0ff868c22fa37e177d005dd1b6ac56dcb9f372a2cbf2956d17f722ea9040854ab97123bc9291d1eeadcd7a32a72c3c7988cd729bc185210b26658a7e7169458dfd3f4f1d55f3158df8745693685f912a9c1c2ff4a89dc9b53c4f428fd16fbe8bcc42b88f6140c2862dfcbc252c50db98a5e872e6f9160b189e86f46dcd6c247c1d5153b5e91ac904877dec207577df281ba01c54f7cf45e4b224c8c0d2cbcde3e1fb7b23e89a53bc1ad4f7f225eb0251eee12cc01de151ab21bb03bf450ff01b8b3c22403a760d1f192a231a1198b610155668ab7317b4c44791013cb827dc5549e3735cd3e2bec7d2fe9a5efa4445a2dd6f2a5ac8c25f427e6426249ae7374125e74873861550954a838687a52ca447724e72beb4f7357f455fa2b521ac272308562489c7d2c0e3ba2662d468af0ad6a9137219ca330511b0540e3c3d01d9e2064934f5f253046a2cc7b1ce7f86c727fb5c5e8829cd06cc937c43c371672434e0f353e0bc688fe3a5c298ef6905660119797271da6cfe90bffd8d27703c39a85718c49be0311e789a202badc2291974e33b028d539ecd6c4347cb87b968d33365729fc29d96a2fa892ec3841382d817065c584873dd56bbef3bb2faa632c4b53127a60ef213ae4e5ae4b65ac3df163054685e63eec64d3062e87f9a5b801331896aa6b054a9f3f70c8ea014024469ad59c9723607044965d2e3f733f8daf779f134a0f874966e249696a869987d3be21c43722c8786c56eea1fdf36ac53ec5b276dc3c7f85e9af747acbb408d7375a302b343f24ef60cf71a830e8387d3246fa3a742883a1d9b9f6e48dffe618d3cc8216929b1c52a32e109333c07fda16d1169ca8de8f1673fe8dd1612cec71a4d0510f56326d2deebb18ead26712f975febd23a456905f09b917bf7841ad72ac0f36af30ff1fb1e0cbabe018a3346b46513900021230b7783b6e37e1edcc55e207820e843813b7f0bd51e513597995f03b45884886fe60fa8ec924e8144dd6a60c476ff0c0a09781783ab5e522283077cc58981d5315f3d3f538d521296a55d6e22a8cc72d437e1a9f5fd1bf054313bee524c2b46e884fd9db77fdc004a68092344b42531dce6d2cb8e36d760c8942ebea4f902cda1079bec48fa65b3afb019a5f047755d3a30a808a4af173eeeae8c4b4c05848ddc0373c605c8777ea86c4db4e2c6617259bfa0e1e436291f0388af1c5df51b585dcb9ada63b779905ec6854cc37b7c7285fcffef459caaeae81b562f9ce8948279d41fcd79541aa7ae7dbf51810c8d720e3b1dd11920b269b0caf356f9a020e07e8cc5f46beff0d5be5b3b582a537772a4a4098514ae23eff9e13291cd73047db9e3406ebe04d77ad3f3b2d158253741ee48308de14b6d4936b6f0b24b0e7c36b470cc2faccea7d48053a35334634872412e06720f76d86324bdc0f7ef1246477d61ce1449fa821f39a86e3a006f5a72ed4320b0f1ece5d0444feacbd06de55d23ee9636d5774ab2bacf295752b7943884b531599720e3f2ef99919a44b13bb38c277771db75582fafe6691af2126872e24cb98e0e3bb2632a9c126e7d84ef0ffb530cd09c6eeb4192eaea9a777eee476ee6f2bccdc99e19dd4b180f28a98684e455a0c81b1113ce560eb83b02bb3030794c326acae0ebe15587adcafa4d6ed27478530a7ebf03d05947c5309e9e266c1943c303780955050902a98331066ca1676deaf436d8ae0ab6cdcf8b4882a9725c8b34b37dbc062cfc580007eed59793f011af08709395a5a9bf41a8bac66819961a6790d1076ac0c7a76ff95bb3f914b341db0ca0b52f824c12cde1ee3f16727be47bb9b90fae7e5463f3aef9a329a4529637facb7b037c6e31275c57de2072b19d37d5d353356b2377254ba3e238be56b0806db2fa1e01c3dbbcd2f336007216a61e0754e4dca0d41a6f69988679c2c159cc8d10231f35d3e137b5dcbd8a72a1b0989c4293a00736890e9a0b748be8868b40c1e69964ace50a72c12adca0729842fc5db7cbe14dd495b5fe9b9171752f47abdf55fd02fbc3c56e5a1f87057202ace04e7c3c49b3a77acb6ea64cdfd1b146b0e33967b6106ed1a25d11720772462a86ba6e5124ead81f3f9f3ba4c10af4fad40b62799deaa484bb7141c5216b8bbdc966d1c5aca25cdcfdd2d26e7734bea1d249cfb56ae9c882366dd133af7211df738961de4cd69dbd1a8f459d6abcebf41d23a4226eea4715074fdb555772b15fb24a8d1446b0832a43327a26045d4e95805aa38d745b0ea519c46656510f1b2279c016cc8faf08e84bed8dd0f6c1623e53f9fd284391e84de8e14bd1bf3e0f490547fa461ce340a6f4103b1f6a920d5d45b0cf77c1dcd6eeccb5f1152a61072550c1beb692e2bc405787f711f1a49a84f4122aaf86ab85d9579b3ce55d720c3c7d99fcca531d9be1732d4bbe401146cd295bd5d3e25cf125db1429806c72ade140c2fd63a88a887d59463b50723cafff3d75e0058d5780e0d290275a9e70188be3223794dcf4556d039ff2247802a4b5bf950b55b7122d3459351239322a69e83b43a2ce244b47d96214c897fb0c22e30000fba795df50c1c601a2d4667234ed49ee61684a2448f47ee708ee25a621f70b10346bdee41403c3c817b55b086ec4ab1da91c80eb6197705c7eb1c28ec07f82a42eda9093331bc413fef69572002dcb458eb394ed874d561ea9311394dca7d1450d069057b32f21edf80bef6251a9123a43fbc76fcab7142ec36b5006a5531a1658a822f54f03142b65acb73e8ee1b06ab472628f1dc635621c3f15951b78bad01192b210e76d0282beb3356e840cee20a4dc5c5fe7cafb24db1cd39ce5b4ee1ce03266172811f1371203315a0c414ef8c1587bf165ef26be0eb64f7b74500fe9a386e0ca561cdacadba94d5a20f223d3db01d47b9e591d1eb72d541991904225e4404d35507f9858fe76c4727ea525e67a741c8d0642b0fb7fda04092b8e1d8ad07d542278878172198c6d03dc46d2729f3a3b5e9adf25e82e32ac29ea2a11b96980b1624aa7162718ac677295097f8861cbf6f0555b6c9220462d023d4e6fc4f3b11703177f904abc5f7f72f9ea37934181640e6c9ff6ee8d325589998a66fb0d2038b5c863c8cf1d990a10d4c7962f8a50315e4cadd30ef69480c0f83e29a220321a52171d81780a5e1c49edb9132eff5854d71188db63357e24c7cceb1d6a032ba0c2772835cd1e201953f6883d16d7c4f73a9626fbdbfd9b4dcb858d8f284c9aa9394541ff5ecab9bd72f4e39d209904ae9e657a3db17b7c834849413c98ff97aa9168e52daef39dbd609d4e875bcd8f85ab528ac6232285e33b8966e34dfa8e4da363042db893f6a5725baa98258d9888b400a72b9ae73b4e10fce47c990bcdba65879802d5d43fc7628612b7c487cbd19569ee738974555ac3ef1dccca4edca5615b98524ec4913d726cd2b42cd0794eacf185dd876fd3cdd71bb4e77e1462e2ab310f696174ba6f72632d0461651c20fc04d2b4f35d53e16867820ed458c15f566cc8a03e9971fa5ed7b05ad3af8f69d0f3f896e555e8a3a376d9672fff68e2555d93c535106d8f723f4d752044b36d689fb8f99709e979b5ddab53cdb9646100d717e19c90c21372f9f53c4dcd7adf63998057274a27119e018c2288a748c3ee8af682e6c9886118abeb16d230a42e0a01384c7dfaccfde4d04e367dd7e49d3aa7fc82621d8cfb7209150fe58aa70da4068ec2545c53d98d0aeb9838d92f018585f6404766d0ea0e4bdd24ee25da469acf1218abd04b496f2d5e8eaf02a9201daaa3509a2b0ff372fc358a1af4079c4cf04c6172ac2d9f9ce8d264516cb8e5efa8a8d18481ebf301aebc7de81aa52dd3af11e68387055f34e0058a4fa4c2eb35f7e4416c03d42a0ac9df2df685842fb9e78b6be939f2be8469d28e128bc7a29ac9913064163b5f72003229f3b6643bc5ae036c4432739a6eac726dd2e3060a7722b53ee7c4345f5593228c1ce1cce2282083cb8dd94647b8338eafcc64e0e2bb6591ffedf16beb2e9c4ea8de8ab9e9491f879d0631c93328fed216f8cf24bf2961d5962acba4e972ee31320e4cd2dccf120465c365be2f249177f0b5c7b89c235461453ffa7d577276f9b050f4fec9252cd1fe0f738ca5ce76208e4499b7aa216f56b76ae587667245c18e9a71cde1bb4152cbd22a9fb5aea480feeb185f8b4b8f2f7a78cae6837237772c51a90ca44fa60ebda79c96b15231612c03c4d4ebfde4ac95bde1b1d772ba6c05d00f8a08021abfb20514c9d76a8c804f5fd677f72282c734461a4179061e0a3b7f0949ecd88413639719ae9b630d135646b7576da101d6a965e5f043589427dd2e507fd96685d0fb36cd5d2c5bab438d34f618f76aa30e8407edcfe12d4f3ee4dd9495ca6a832d1a6e01eb7f2d4683f42ea4aee82d0d2d74cc4dfbd426dce258e6b0a82424b2a36265bb90824e23a6b07d32e672f12a33096a8d3e4e7243197f5bd2a36366ba3ab40f1587610f4416065b3532539e0edf35f73d51ce4c69909ecf159790076f19189ff4223c4b304bc1223a94dda4ada3635441f0ee727acf09b12485d3888bd77da82979fbd96adbb2f77908e213cbfd488cea89ee728e7ee59300111a62f8580294283b522189ad090c067bbb0ffecf81cae4351809b65af8a2f402313fe649a06b0aaf0d8f867802b3cf80266809c8ead5a4fb0d140b66bd1ee7386d682984e94433c81fa244a3829a35ba47893fd36267cbc9dc72f2e4521b0a26ae07d20334a9da8fb98239782d08362e006616fbc7c8638a9572d81b78d9b4560f9cf92cdb1a547be5a3d8971d2b87980d595f0e75eb092b472eb65b8ff0b2cdb594dfe47c82105c643aac0cc84e4b4fc6a567b6eabbbbc4a24aeb673437a29d44e0adf9f8b838abb81620138310bff24241ecb04f988c384e33408a937b9ec9e342a3b8ce9f2489f76383194165a77edf97fad0844b371828726b3c56cee9ae870d63c7585ee2e1787e88ab403af24e29052a21f34fe952a53ee8e17a0d55904637f1a848dd0f709caaafbf9345138cd8daf059d950d1f37472575fe0b4b30b01c8bc87162ce0bbaf72781cde8e085bd2835ff09dd667e0ef723faee1e0bf636ae20d77ce42a193ac9d7f9b331624aa5d42fc767bb338d6c672b705e2300fee92b3cdc1f31ad9f5158a8d8083e53cee1693618234ecaf3c4a61647deea91d18740173090c0e35745436e90f2c61d531685fadf86251cc252a723707bf037dabba29dc5d604b1e704c878ca6970ed80f1141fe35def5b02cbf483954f5e638bc988ac1cb2a6efdb80cc57535695e4488a7bd3f73f815f485b82d58109910226b388528e9a9804e1fd3325a629563760d52c85675c8f1c9426e11027ed677ff65ee643f90ca7538560813aff34b26d9036c3c299258214c0fd92dc470b9116f021f2c68aafe68d9c27f47af364ba84dddecad77562cbf2b502b646be8ff3555a63c427021fbf5a65f22c2cf5d5ba2ff37067738c84a96761c8b44ae29cb4beb8ce0b7c1e575e336db69eea71897d5666778a6fc8bee4490e00868425713252e3e25d19d8fdbaf29e8627c9ad51aa0113f190ab06b1279637023270f5549da774a596857ba97995e9132ce813c118eecb8c6ff4e3e2afe34eb5c727b99218c830a7ad8b09a4d28ba61ec61aab6826f66bf07dfd611f856cc165d720ca0d52dcb56bcd7b4bc048a01c52553d17aeff55f050a5533e7b09bb88a3e7213d60bbf2c29a09b5a556c16e407eb07f33101b29e44ec68b3abe6e1cbcf18271744568284de404074341573b5f7a4c3e40e619ea37d6986c24fdfc47c73422601d33ed4266651318da55149e1fe860ff12df900d0e09d7f9882636353713928ab2c3a634b5fcefee2c3948862f47e9df87c98ae1d0c80dd9e390954f79d9a197605697f96ed78c53c7aff0107b1c231bb0e3b736f08a95c25561e09743041727a636d586eb45c8db89dd71f83879448fcd946aa9eb14146f65b06d7ed2afd72baf24d77650e22ccfadd695af6b7bca93ced601c3728d9e12e8d75115fa45b7260765e469e8993885ff0201e001c1dfae463068c81724b87ec9bc741fbbef467f45b1ba43521ec122d0f7c2effb92af4677ee07b1ace8a8a174eaad7b9f8ec728a55f2671360845834ddca7ed8a020493f17e4f17255e0fd70c9d645ef0cc04006e308a760f046bba10745b3b2491845bbdb18b6147b0879d5e914820291601e7594c14e40ba33a20dc5dc29a13622b113591316f659d60d1b80c04c567dd37272e86043457d5a5bb438ed52ebe975ca1479da77ebcf35fa3feb1994be8c107204b4f00b62eec32ecae0d59835e968b6b4ec009f558d74dd937e0308b13b1672330749f3889354db8da18d6350ba921aefb4e5c75293f00fafdfd455f0d20b72be610a26eecd1566642bdec37b2d9f8e7c7fdd4740f7350295c3c207f569c008470a1813a321e8509c3a097600a7c28fc5adbc2b1cd2b3df4a8fed5733c18034b882619185242544e162cc7edea0ba448e95681e83878a78a8dff9a755e2ff726bc3439304f11f9dc424c1b8f00f7e1231d3e0ee9ac3ed2a5e7866712c4b4d4adfc90f7c41142603c6c006c4e76c382be8c0b06ded0f0293f0b9b346b244011778884dc4fbc3a42b08bd7c8dab7e310955696a74a01ef71360c71f2593a87772960dc79af2f465e82a393798a44eb9c9f5dfc2ea112f348ca8958d4a7258fe728d78c19da6957fc75ddaa1accd43d995dee69c3cba9c8d03c5916dd85c0d577251714ffe285a64c7681deab74fb71dc473992592e7d9680bc6522a600168c772e69b0244dfee9e8875d02f35616e69bbe00016d60c8d69fb272adaca17a8ad72191e3dbdb71b3f75c7c506f0d0a8be0e970505260ac258ef18d0f88137274d2656e3693c25d02db2d6dae6324db52373261bbf18fa5fbe917d9d9ef74e46910ba475de44654ddd27f300c9cba5e5688725b243e999cb9cfebe81d449dd1e8a1fcbd2a7ad2c605b1187d005e4cede57e0eb72d1e9065ce648340c19dfc53a184aef53cedda31a1f651e4875ef63957da549bfd369732f9f3a492520152c7a876e0f8dafa7fc450d92377196e87791658ddbaef3ba774410c25eab6b224778e072ffe3797b7ab41df75e87d1867d405f4e7bea031aea096cf62202c50bbb2a945df98022c44452f629d508f43624642a5439f153780718812ec9b5b0d10287ad72c74a63e9ca5a944ac6a532fea427f22e1c872384a52b80735329d92fcef23d72ec1d9c67d7fd45a79041987d7f5544937259c350b6d915b6a87031381089637224402125a5e9ed2af35528b056d46338cf65868ef3611ccd4f3efd896c8926162e1d3aba9bf1539fd834817e6b4d996738eea98ced293ccbdb4211f009911d1d06b28464a3f75c56908316c20f7af092f34b9fe452bfbb07205e4a058a7e254b5c946d58f5595c92f0672c424e4ba30c3b50fc21550a7de71536bdbb93143b72a192000ba8e99d61fd0a42d53066d9850617a51fb6bef3633273cd9203c4ae71a458a6beb5abf25628bd026433890ad1b28eaeb914b943edb66023faf6e5316823e3df5daefbe7bed434de50e0915b9f4e441c364fe8c4d549c3afbfc6548972ded29428776f0bbbeb112db3a01a6cce2ce1b8b0b688d9c29d39a2ab0c3c8a2638ff4065d8ffd9852600221d43090774470095a85dd4a1377769efb113eece02a08791d27e537446efd30b52e9d561d2edbf15297bbcf0e4ba2380cc0aa1da722be0e9f752b5587d9a2eeb846bdb2de6474debbbce2f51fa9a7e5bdb47375f7272e390eeb00145a3719145a04256f3e308edce3e6478be0e7a426d3983b8d1724e221e355a8000a621fc2d7cba83f59068d0dd887862c00b5d18eb8ac8a35772f11afd3498e912c813419a55a8589f412d7fba095335d4e7456b4a8885b88b72f6da9ddc721e26981736454e0724e8f089ea6ea13cd6aa90da4439d2f2b7936c8b90f0ab1db33fbdf4f835d02d3f5627dfaebc78b51e848cd40bde89a11710721c6a4413e4ed830993630aff7b567a96dc2c0260c32e1b5a47eaa23b1533b37224a4b1982da9463ca4d7790ecd852b3854d8595ce2c6660994212567089d5972c8e718a3cdc67405ab629d22aebc44e40fbaea0835e809f924604e7ca9cc2b7254818e9ea5bdf09e5a92960e45779ed360ed5fa031fdeec56f88f75cb56561664bda0ae5ca3e5a74c80ad8239ccc5e71d27f551eb10bb9ddd838052f8d32cf57209bac4b6836dc5aac4cbba87c88f78f6a24260f77a21a348e3c452d85ffe9725804c1bc835e4768a5460cefc9bde565f7faa819a8ad48c962ea79a885b55a724a216a2ed04da3c805cb607d933bf36349c9ebb25d6a949d41f81c31a7af28722aaa5dfaa3aa5cfdfaa0c378b3b8dbd2d7bcbe603b2f122e17897a5e4d5a24726ab6cb2c6e77509a26e2f88182c3cb1deff29bf34278684904d452fb05439372e0fb4b52bbde510729119bb5319c754acdf24bd5b28811999d9cb1884fc1f6725b0c578893354d2acb8261a22f9d5bfb23dd3dd2f2a31096d10fca71b307a03d665a57f865d21b87edf6f7dadd2b98918514e31d21ccb0f649ddb4765a581a0dc88f68ea104a01481970c6c2d8290bcbcde1d59c8642575db0aa882e1fee737206e2e28cfe605aa898463929666cfbc1ee2e04a7c5b10fdd37ed83d3c801e27282a066517c07bf2eb04a820e905d9bf861d6b2e181175ed58f6615d2735a2072fe3bba85ec8819bf13ba2f8c640383194db7a6c51f959c978418b69c1bec5b3e55df7979e9eb0431a4eae2ef80d794d9ce879ed189bcec91336afca24946bd722e6bd5928ae7d0fc4bec31ab697003628c6923cbbd7bec571861a25da51379611640101493c518692f00d5495d91e2c07437463b577c052b747a77349732d872695d93088c8d8ea5ac981b0b5df0c1309f0bbfbb3a9a095465550b7e764c2464c4d894d3ae8fe075d3c7dc32fb444caf360ca837025fcefe4c0b0c0bc68ce5350a3737220dd8ed0bd30b6bad3056dff9da84456d42c7d6132e71addec5312b72362423b318c6f3197fbab6a4760ff48368bff2688f36687b1d79a0b355e36372c454ec27def1e5f545d5cac50768c8a0e56eeb90ed319332b3971ffd2b63e072273d954ce03d8f0a036e21a6c3b4417e1fb5fcd4af782f369538f8e7e2946f72bd05c76bdff04dcb0fc614091a0fb237829fa93ed71cfc646f25507dbf207f6f7b6fa538aeb773a7acbe1a77dccf2ebe0c9d2f118012a1631fa154d0e1c4c672955bbd97e1e406319de551d718c8a6a32e7f14f95dc1b17c67eb9a2e01aef45dc0707e966b12969b55294a2cbfb5666fba91c3926817927a61c4ee769c439672cecb3cf4bf5eecc5badf31c29bc40344d4ac261588213e0767a1a6053c8838724c8a8ecef767d9330a57530acb8c9fd1e6f5b3cbaa90089afb45520c2224262988c34275a56783e1cbc42079b07abf414e59219368643f1c2bd6ad97463b1839b1febc578459ba55a01f9140682fa55e0aaf5f28a47e6832ccab11869d5f463e42508fef9230d0cdc2f2e4c8d00a05b7b4157fe076eaee1faa4049fdd92da572e2442632d7c6619891a81ad1689ee354e4b8e8d17f22d6b274b950d466d73f2415e31ded3512e315d03eaf49b7a05b135fcea92ee93cffb24f78034ef715de3869089eb7b2e24663f1b6dca30a8bca955d90b5c159d4327896d02723618d05729e98d4d7b704064a0a1bdedaf9ef107353cbd5b2632116f834c4dd0d466076720fe42c0b05d605ca7a507a7bcfd282c59b48ae45f95d3b447b2e863a23735872bf175469b1b3e485302c8cb62f5f2d93c2841eb8c402e4f3961d2c06dc111b7214ca695ae1ee8ff24a2f26dd58b6ee775567c454dbea7943dd27ebb4571a376381ad554fe275a7c3ce8848eb9b85c333650d124af4428309f0fb158bd9f77772563892eeb6516f25d9d1e655dc735597a26f2df5fc696a52b804e09b5d904b724ac5e5d6ef37c6eebc53a85473219d41418a4811df8a433601715a9bf5f65d721b486f673152e5d9ef2017496532bc16a3e5fefead1628bf5bb1279b36972a54d1f21b8b12554238303115d44fb36d27311e43f30e6bc39d8c0cb3fa10ee5b729620843c448899a08989a5a80882a85a7e69f934efb2b97e26922a4e51e72f729c68e2aea686748829e4eb2a277cc946a161b48c2a4da0b1d4c50065222afc27ac0047cd1192fe7f60620d100a67f125387207d8c4351623161fcc8f4afc45725a6f2038fef1c5ce89fe4ca59a193e20bdc95aa8e873b0f294758eeab302156ba294c8a8ffef4c5034dfcd814ff706a95be8e1cd1a2b7d0f7522bb7ba639f972002683384c3b16d2b919f8cf66d487c34e9c8525f9105eaf18c07f0513d5505dda521f6ab4f6bb8da03a4857950e43033195c8c82c04f9a7ca3846745ca6de729bf124f952653cc6416aef1477a221388943bd8270f9e0359f32af907dea3c721106d593069ed074f5fa01256c85da90831c487aac1f945afb624e2690961568803e24185da328dcec75434249e4529010014bdeb85e0aaef3470d5ec409f672601a8934f9524030e15c3cc5983b62ef215be3d54029e1a2e9f520b542879756a3fd7a07ec1c16fd5607d9d123eb15252a59e435ff3275774679ffcc2e7172729d13a581f37a5993855aee87781a235a0807b193df297690d7820c9c7f445a720bb7e20fd1a13ece1a778a74ff04bac7a847633fa76eaf0cedf3e994fd33c52250e69c5c7d503b93bbb3ebe83f2635d028d1447ca237a64bbedc121f0f79917211c5809d16d3efac9f5cac94086ff7164f1579ccf9d8780b63598d738956ab726c58b3b3e101da29db85d3be91a09da6ca6b6a2395d2dbd07e093edc84813572b66cc8a0c3f2e132e2a4ee64a7f19f3d804d6c56be3ff7b6280b84e5a20b335499757c08e2912bfc82e8f605d5f31d309faa7d5b71dc323ca030ba8ed82af246aaf89aab4ba47b74837171b71da2097c2dca43b8193b3a61a1d7d063b0f19c7273e205afd84cfd90ba092af7963ef78ecd3c06baaf18233dcdd519392b88135fa4a6290888060936050628a25fd658eeceb4f5d9c2c522842a28faa9cbf3ac72f0e4541201f4221faf16bfd7ccd222fb017cde3216b63fb521e79a378d91e155a22a7750eafacad6f14f546501628d401d8f6d5823cac9e7a7f0affbab231e726eb94faec17d25030d304a1da9e43d0056c6bb34f451c1df5546c93536a1d472fadbb9630342732fae1b27cb2fa41472a4886cf7e685b5e7a47845f3a6d7b43babdb0f7baea989f169ef1c32b4b32b658ccac227358a7e6853aa6dc848f81372777059edec4a7954e9a13e3af7419e5c0b8abbaad3233fca255d88b49a0efd72a192554b1eaa3c06c258762ce11610f23a59d5ed48e19988dfca757e4879265980cb1dc5b00490aa0a5b23a76781cbce4b30734b5e1ffdf90569266ae5c12872b9c2fc50938cce71e89d7fa028a15034181d47fe6f6ee2e313c3d1881846e31b277e77562de13fe7733a28cf70ca2d08221141d7b7732a1e661358de73359f720bb307276b168c33501375934ccc5140d5e83ceaf570b556ef844ae6cc417b724e6ffee0035f3487800107346c069d119511ab1a03c1f8db2ee736fabed4c9727f88927d45f56f7be5088240fe8a0ecb21fa03f313f8de0db5e2349f146df2729b8963a780783113ea13f632cebae9f6b5f3efe83bb5b198075fa1d7bab9205c563673272dc5c156f5aa45a16dd7692f20070505b929599566133f953353ef72fda78463789e522be43fb087da7cfc9d714b07c3f89ec963ad83bedcb276e852bb355dc797a5601a95bd257fcb2ef8ee46a1343423d3a476cc7446074de6f0723f48008be04ceb7dba12787cdb84edb706a204b170b7856250c4b81b3f7aef728103593bf4b37b5a73d8991029699fa7c6f0c00880880a61cc8ab4f614f5d369a1c76fb38013c3dfe10e51d348055d3d602220a7e8ad350431ec2a5e6fbbb6728636d4872f635646308851233085d2d6ec294e3a1971855d1a13ba3cc14fab72d3e90e677699528242b2c44807456d7a5a0f273eb4a506cb4fef3c2a64b3567225cd041ace1289d6b1dee2e4bc1edba69aec2f87e04e2aa5f7131f991c2a3472f9af6bf1f17fe41260d8ff33c83c100d15f4921640fb0b067ce81db62465635d906aaee619d70e1dcbabb918358125269508b605d79080c2f42b50e56c211d7274d2a866e9b5e1e5b8ac8218cb623139f6d5007fc581f5592062143982f2647230c4a00503c50e5dccac79396dadfac019628def6aa52e64bb4b39c86e04a94107bfe6401ca111143dd8fb548e1dfdd177482f1dd7ac5253e45c2a917966e272deb84c36a6c6cb194229cf0e2e3dc3edd6d268160fcb4c927a3702ae2b8274709b8b95ef7af90f7ebe1608b39eaaaf1bce0ec57205cba5202c33c89ddae44b46e2197b3fcf35383e0f70628d72fef441a41356818e1068c9feab8ce1825d3a724d6f7981cfb707a3b4fcf9fa11f134efc14b26bd7c141859cda192061bdcc9726bdad6a030b46ac844017d6344f0174c56ca8590d77c04e070770c0abb82d672e690d24e10cc6281df48fc297a5f569e9bf75e583f90ab9257824e140fcc4b7258afb1f107681b7a1a824654894d6e07da18b00ee93ef545a3b8bbf777fed254e87887ab4c514cb6a67a3b0b31609b68ead81912d59e4b4847b0990a523fd1729544b226f4c3efa7ada70d0edd4b4f1432b0a2ce97666c9d2b3ba32d9355f96dd0e8a596150923cc670d729df35e3bff9dd01823997fe745f2ead07c85ab137228d723a4c830d34e9cd4de2dc3deea81807c64a542e456a3f4b12f51802604723a3f30d70f2e5f547dc2263f2df925a5a6699e1aff143d2a7b29d1bd59f712466f45798a457a4e07d58892ab2b53916e8f951fe746f21dff8015fbf1aec29b7262944e2fa59227b0f6669b2e902daf4e237e1e04ff211521becc9af5a6077d72c912add0fb9a54c8d62eaa8ab699781629d5253a1b92efe8240ba664c0e4cc72da8603b1d2eb02b6156dd209867cfd985edb0a35a3bc94891a8233ab5eaa2c3089912581748f79bc9ee8e07ac509114429ecf6b6911771861299cb3c1d91e472cc232cc7a416b0f33e7b4e988a3501eaab41d3cca886b13686e11190c9b5787223bb5e7f36987570c8ab7f2e8f712151408f8fcfdaa941bcf245ca19a6aa8272e1bdfebb3db3f846c7cbeea74135f3d73d9b598386e81f801441f563c2be7e72d3d44c05a18f63fc7f4e5857880d6c14483d02a5c5dbcfa1f35a9eba80e7ef4b3925bdec91bc5527405833bfb6b336b448cd637c2fb89c68e2594058aac3e57296800afe1ed29daec75dadacedd7e67660d0aef9ab6c561623039d0e33a69272e482f68a2263727fafcdc034fb8fdfa8866ba613aaa9f1455d0446d1382aa07299bd4947737f0d1af82d85f7aa32bdb997b67975df852061ba309a34b67ed972241110843eb7b172718449be3ed20b30f50c30c4c059638022e602a21f28633e0eac19e1b693d47c0db3f6bac09aefcb2e24dbb1acaec21652c7f1f21ca5c1722cbdf76d1329a774e28da9e266f60dbfc52b0d2d28bd85947f334a275a433672ca6faef105171e110de0dbde0fa9c3f4fb367af223d77fb16f1f8274e860367224e4011737a176efd6db9554fbdd8dadcd6c877cab05357b9dd6c8ba23d65c6f83baa24c129e9bc56964ce0bd59aac848b65f708d5ca5bc47a645a39aa59892e06fa2fa9f147d7d24cbc6b0970c71222a36481c94549b010ed0133a7c1e91e72428b0c761c3ad5b6137543bb8f13fe31a6f3dbc3f7d9c90597ac406deaa10572bc39640e72466cfc0cca849f29ba0e971587898b5c4e7d91e5855da1ccedc572cff1d4723565d1b9cce424424cdb7b021ce8c6dcb931c6d3cbc3e4871207971adb6c93ba9015ae6601e1e3040703a5f380f57091d55b8378884ceb863515292ad15aa619673056e61970f97241393e39b1b8cde36af47642dbe0513b76bbb019c7299daf0d6fe1b14bc9e1fa6fbd693c867ec0f89eb1f7648f5e9a9a032ce31e51b7d832e4a79aabeca092865c26fb18a85bafac724519a330203f86c8586e3f575e269827cee14319c185d206f7cb982bcfc0c30ca3791992fd5d6f708e8464d3da134cee83b9d144f42efa77ed982bafd67b789f76621e4b7544cfe4388872fa0337ed44c9b41859227e3c8f69cdcc7935ac2998ff8e6708de6270d1f73a720081cdd60edfe6ff20e800272b9659d6980c75a739c454273bd8e6be836b3b72e51a64d2b84a3bd39d4bccb08abe37f7f8856630de6a0d07027db8b35ddecf21ce899d84f9b695e436c4c3753e3552a25e7f977d9ff8d04bd397fc510adae37241e3aa37f816a4607e41b4e38c0a83d7b2da56245222012b4c39f6935f394d33da40e46fa54887de76029fd994a4f1d2f65d5a4a2dccfd293b8f1e521559b17287aff20c39af4f2d079a50263ca0c3929045ec7d907d99290921a19d02f0282fc25a1dcbe2d33608c1196a536ad0913908e6b38ae3af4b5907b0422be5e55d72a0cb0af440ca6429f72e89bc0ea2750b85c9b9701ec4e43136d73d18db88265c10e9b22a4498ee947636c0a98c36cd1f78b9cf76a3bb62e2fdcf1d636ee0b664fc55ef808b0d29be1e696cd531f139f7a30c2fdfe9a5edead7063df1747cbb052b8120f55bd89e692dfafa039232d2be80a2d472278436c7025c1d9998aa1a72420e75e32a719a3409a3474e63012bccff4e116fad533d91580fc1f62e799c2c46282f53bbef46080c36762f6ead8ea9df9403afff560adb7daf897f382fca72107ab3a2dcb83929483c6bc88158fc6edd9fb1987d0967149e0f28dd3985c072acce972702f30a631b2968a322b8d3bebed14bd60ec1c505e23899790788aa7214b500c659424f87574978e72bba08f8e2bf7a1777af86c251e6852c3001d37251817325fd87c8281064faa517029d363f8b1c3caeeedbc6c56b63c9318b143723ec5c9503af2f022f1a8fd729f3e9f54339341576b67a1a81f10b67c63caa2d1b2ae2f6340421a71b618c60e6eee73ee044fce64c335714e2c9b24391ed81688adc4cdb2ee2b3b5738d62168458fcc93a0936eba5bd0d1ecc7dcc94d93e09156b3a39ab8ede977fcfa229e9ec7f66f80286520914601cd19f62e37ab53edf28edb4e5eb8dcb04e51f7f8bed34ea86b0b4f691db385d892ed8a95ca39c1de77225ae437b26b7c14653f53ec17dd006d669c9485bd053fafffe620552ab207072b9873fbb82e36a2ed00bb3e58edb7d0c78144dda96575c1ca99b891af8cf6a1e239fd5459cb5f19bfaa3feed60cd2ae3bdbbc55b1ed01f62591ad31c28f99d72acf1c313c8a119189d07513e8e88e2dd05430c1978eea5bbcd65722a8aa2027254d61a89db0ff37566f7a17ef08914ea6bb664467b166a56456c54204aef4b72b379477375404e92eb6b7fa112f9d610fa9ae55d83edcf89d805fe05295d0200d8b6faf225ffab5cf5447c9a24baf3327f6347b4f778bc28f8b2a7f76341915fb73e68ac5cfccec0ce10fde844e0483f37a3cfe815506c33fe44cfaec1b40d72398e9b501d51b0ae7cdc0eca5074d87795a030a7537bb20e64abfb1836751972ef5642908c3fce5f7209359a37c093edec1bbc1a8c942b54c8f796c70bf9d97290ac54239fb39e24f9ce2f0d12d9f6fa87fdcd5f1bf1652bc11c0cdbab30695538d71fd784f90e60f9a90ef7cd02a7a76203822771ca4a087d6bc81897e70272d96d3dd8006ecf36ce3fe255c39b60f76d13316fa7dbb33a3e99339594358c72f3e145a14d7f05a56e14230d77618335b3246f89f58c3e90d39dbedcfe492672ee12148a09eac9ac3aaf670e2c67645712724550ade77db9a2094ba8d0aeb072a28a58a85409e2f6b9c78357e32d9b33347915ce3094cc50709af92ee7288872fe92fbccb571f46263cfaa6ed7e37e34f78464669b16f7ca73f9963132f4382a8ac45d02c17f734b4dedaf6a535fd4b49801a5a4a7e580d06ad3cac7d62b0540a4db72f22c73b4b58a4a6a102a4fc9784d99b1231b51d9c1be880b994142fe7251228cc20102b8a54cc9e1ae33e8d21d6555cd5b5ab960c7346eb33ae768c0729427666a3644c5028112b0f2d0fcfe4185fcf873dfde3aa3a9b64cb36d27df72b027ab744eb148fa24cfbd6bc43b8b08feaf289214603f85e06a0f3aeae92372519c78274eb393c694e222942c482182c19e257fb0ba2940b87041d64d0eec4e04dc33246eb6ae3a62afa8fbb22f2ea4e734616cb5bbcfd3b817a172cb401c72a8c3d93e1a15efd8a6b6903626b4b3eae2ddafc6425cc1d14bd41e30eecd7672086a7f8bf95dc9d4c970eb6b1f20ff64027435cc19f3a0764e958c4c44e6cd4fa67026fb937bf0b2ca239772ec5235ecc6891e093a116736588073ab8b12c3727067f26fa63d9c03dc862c0aeef76bdf2aa196d05da75b67b4fbab7d4855f972bf9c833b1d08accba4eb3c0863804c1b38c423af551bf5f2977204215ea660567a45fb05a7f86298ea052de76b64e21fe04faa0015a905c7155154731b2fb472008671e14eae47c21b16e5b40f91f1704bff8088f62b5bca22b030bb1fab61727b8a9a78566d818812717ff123be9c4dd693ffa1a6f056e26ab271af9a8ebe72dacb8e095cdfe2a5b1fc14eb01935c72ab7a7d0eef22667e4344b11b46aa3d721f4e6f59ac99b03799b5c1a9e164d24d226f03428d99c43c4e4d277946a4c515d160a022ed66bcd79284d5bb06fb65f2e2b2df11af7ebb77e82e726fc640534250fb37bca1b0de6401c8919ed45364dfd0a712fafdae65866ff737d6c06ae969421c0086a41a459c45fd67406e046fe63effce3d6b6059088d18e7a626ec3972dcdb55bd916cbfccf487328e6abb724cd369ae409addb98b28a1786bc77e971708c7986cc5fafc7090972d070bdfb4be3f160febe267f7c847681c9cfa070e7268a9e8914a888158f3599e430daee704dfbe6ae00a3b1450b92da8b418e09515fae7502d364bdf343890628686d0bcdd17ce577ddba3c91984f1e7bd98d4ef72966471280d9f77d6658627030782684e27f86fb16b0cce4611a4567e43095b41673e0d05bdbbf33bb35a1e742defe1932feeda1042fa4bd6086d2bb447673e3d2134fa328ee50608d5439f657ff045c93d30474a61f3d422a684a71d4a1ef0727b24213a5f181d75dce2b103208f7cb6a7dbf38b7daecec534d195b484f5e61847cabdb9c6a2e3127d8d1e01d00b42e10f42242d8fedb3e80aad3d652948694267468b0d9e8561862cc335e778885d651716de2d9436c83e66d319d08bfc500192169a47f82a01457260fb18758eacaccdb5ba75c35441cbd5990bddc3ca92563c7c461c2efc379a79455420b482a9b6aa355f250114ef23ace8b2a3afbfa57210157dd86f32ed7210f2753d7ec0c7100991da27343f1b86c32426330fdb9c4131ef3c1915cec9329f0cc5cb9132d02dc2b241cb5c46d974cc4452f5a2a6c212e1df9703ecc3438726e67b692b863ccf6b9fabebb10dbac41305dddf00434572f4af6d5fc0706f73849f16aabffc8c3d2a94036e9ed88c8da0f367bda2131f72652ddb3e71fc9ad7eaafeda0f9c73736facc190a1fc9b40ea9e33e30389dc3723212708d7463d0c441fe7c111d370264bf73b7ae7049791141ea22e38948727239d7d6cd0456bfcc21324ae3380f1756418c740cf45b0ad3f5a38f3cba144d722e35bc9a29d8b00c5dc9d45e70f88d3e3a37209c2b67fd8b5b93d0f7ca143b49d33b1e23645947220105d33e8dd089e9e5e16a657b73ef842b6970b3da023c2cb505ee8155aa0caefe03ad8f36106e1bf657c415198b74939a8e4892cada2a7226abde496befd2754d66e4e4213c4b2d9e54bd85064b828ba7df26c585d7391ff18e3af51601dadb3d0072036d26ca11276f3eeb0eff04cb8ba5dbc418321972d6520a80dfa7c856699010f65f970a9258ffb0b00a4973ff693fde2300a72170f3c7693a90b8294b445b92c91ee87a5e9b5718996c1dd8adbc30337aaa2a8241e8c159b4e5b8f4beb2338b3bda1576905f8fe7b09e81ae8e7c0b2f90bfa1cd72324aec32dbfbb01292acfa760f47cbf7d80089841fd7268b46164ef1cb7729725df409959732d911f4d3a7c4efd7d285067c57d30c6cbc98f4ddd26d70d1fd72a6feadb80159f28eeabaed725029029f4388a1a3e0f75a5be253d524c45724723e25d3fb65286c9f6d43f6adb6ffe2666ef1687d9b9c0f1df36bcb25f2859072af1c68ac2c867f3f3ec2d36b26fe5290d6890ae8b2340ec73c019445adca5c72ae1d918c726603c04a22f9199a5919d64fa867579592bfd4b77035122a9ce1724d164eb8575a8feca668e8816a021e91789767fc84ac33d340d25ff0fb81ae13d5487ae158d4eb2852f006424f1e85329efe8823cedd0c55b4b427ba603fd7405b46458c0c2a28e49cd3205a84816a73c1ae106fe9c94ff0a669020e4a8405263cd838ea3da8d1f508151977bec7feb939e2fa84aedd40fe45e622cdc204935490d5b2900232957a943763621d10e5bf850702018a27a3714f1efff917063472927e885f0011bd90859cbcb153af4e3a842965eca67f35455d5c37c9cc49f072235e273020156ccfce1e94646d1b420fc360c621a37796707a0822bcb2c85d2c6b1de240464214a33c41253b25a6c604c2e33e48dc9c0cf3002a4c853d83e47284dd4ca76a28d1b9ac06faaf8351495867b64f29e56413b418f422c0f3d370722b3142b78be1cb73ff3f2680240aab480de992ab480699cd547935d158872e30db83e536cfcd4f084b79080eeb50e2d15470a77e06c1e2d78d27ade665aca9722ce7785c20b77e797413fbe2137178bcf13f8c9f59d8a903461ddb16f7793472a74e0993c1ea1eb2c4b4df2069cc2f1107750f18c5c4a5a1d65cd315acd56872049a05fbb592b04bcf052864f4a896a0137262b9e5f41612298d25f1221ccb7290524478ebd5ad8b71071dc80666b13c7965f0119a3c8436bbc11ff78b45da406a7195a794d87404b3ae55efd95265fcdf3857c57a801091ed38b4cebd04f23fa501494f18f549a367d465abec69d9ce4ba45a8d39bad591f5f065fc4a626a727ffbca0feaff8ae72a88b30f212fa688e199ceecfdbf6dd7cde0077d0f955e72bacf2a7db9fb95b7ba7323e12eee634c87dd093b2add95eefb0dee4e9762847202c0195cee0f5318e8e83b7424b720abc7da89db79c6c47a847ed86768184c72703b462b41dcc5193856d426ba0231a407e98a6174352a9a3ae044d2f65e082a5d01775fd0b834b4ffab54adfea2deb5b0120ce16821902b277a3372d50b3f7226d122d31a9c353aedbd347456323e9bb332802b9f3651324db85533d8bbf87282709508a11d10c5011a7c2d3f15f67ab6472ff7eb252843761d174aa21e42729e5560daddfd4f7aa1be8e93ab2c0078a8783c35c75b7c8ef75f81e768e11172b6a48bc0b0e6ea9e6ce5b74a7316d14d04792b7328b8a10987ac8b05b5127e7242980a7489269dbdf866521738b4129e03a554621e997dac108e7d7165c8e834d5f0109485bc8d1495ade3f1239d3f24e757201c9acd693f37f6767305299b723a5157eae97c7571e6a43b94bb201d07cc5bda5bb2acaa4f208a0a93f9cd4d6d8199b100b02fdded8b36540550fb8dae3ee1d743dcac43494a6d0abf0ff98572c7f7445f4e1beb048730a5372c4ee917fc7106e504b02aee44e0a55a5550c072d66607a5faeffb0450129f2136cf1d256a1a5387127756954ec7f305a4ee45722477b7bb90e9e8c8689034b15f742e347ddf2c5db1b3520983c3b106195010463d53245db79e849eaee70c1289aa7105b5c9c223cf51a055197fa88df6aaf072ea03f575394e64a2dea01086d5604f66f1428f6eb2c610c92fccfce7af585e72d2f2cf3e32ff94987b5e916e01cb04f7c1067d992b61fecae11f6e733a293072d1bdf47490befdc33de9d21e4d895c0b905766a7e75c17c682cadf52f91244722690a2e335ebba4bb65d070935dbea6b36115fe014bed4f919af43f9adc67c66680e0f1d36ca81d4d3f4be5bfd4fc58f935a46222d82e268abc6cf3d41f15172858dbabab4b4330303065d3d598dea52243a9a7920ff3c6c3ce246a70997d31095823e745bc5ab9d8b9066588567f988b17c4f39052b9626d93cb999916bb137e47e24f4e2c0b1fa131c5de30f33af7025a467a4002068bb500f3ecc137a7e727e8a60001d9489f9ce180c4d9b3cdc0b9f0421401baedde920fd97c9a4a6e72c406f165c2167ed79a91d6dff3b895637c4c055428d81ac55f62e5d32e3d24769d238be8d6cc44497024477381aced561a5c4847c178aeb7ff2ab283ef0ec1b3b1ee727cbe06d860bc519a989e1b6f4eb2e7f2cf3837be161999a31268838a2727e96e7eef608e36592950159535e04857f3acb5a7d7d6685ffaab2d26dd11972b39e5ace82d0ca7c62e902e09a395bb2ec9a153b45343e7976661f2fadcc3c7236e8b0305cd75806840176b46b58fa57cac129fb9b2f46dcc8f47411bd64e872e4877157fe509a87a1058fc5942ab4d95a3d2359bd087819a18e810e1b4a2718a933fb613d6ffcdd8ee2658354a89fbe7eb5002e1f7499cd6c75e59edf9a1972248522ca7e4da05195af522991dcbab94bec51035295e0cc26880fa1ad138872c3687cf343c8134f027ceb6d07cccee2ba8d75cc529d3de165e220af1eee5557cead641f59d4840e905114a333651449441cbe4b137b5d8d36b4441bc914a248d2b3b5948144c02b6919580c2b72836cd716b1c59afd0f898132184376933e6965f4d7362940f16f7b176d4146165c565e07049112644099a29ceb05e296337234829174784756c93fc1ad73ff36a7421ea038afaf88cf786c5673d15a2cb763c87e3b73ee9efea78daa7c00da124a2339602e4a239ddb03b04fe0afaa89ac5f6237f6f11b9d7be55ae8c91c2e03206797012e81483f09f3d2b986b45f5afb721d7360b174973f9c032833a94698edb476f7eae65974ac50144361a21409ea72592705e25a575c0d1505a64bc7d295843dcd54960bfefaf0613e30ec749e707297d38b5cc905eb8aced3bd3b0067f09b9e4482cfd4ec782b780e60a509f0e74aad4a6005ea11d114bdda3e9ee996197f12ce014d0cf473a415e4f0afbeb127726118ebff2caf0423a02e80ea2a261c2a73af2eae99ffa9f4ecc6710ba89b4956318bf4d9beda744d5015dbebaabba1ff1d0cbcfd9ed1836324cbdbc7352b4429335fa2a62029d87b414c80394a75ad19a9144e857e9ed553b4fd126411df3d14c4c9d28343f46c49d1278d31df6c09f88c9b56a287bb1a8fbb7d96abbb675a727c911069fd3707cd5cbf55283cde2851d52edf8a04868566f7388133f5950672be7b985dfc3c0981c7769067152b9cbc15f23f74f8da2df9105cbd6a0132cd0bc919dc0dd8488915e52f76e69b119b47099e9077b70f5ec51b2ff4fb3bf99272c78f76c3bde861541a04a482593b400c0bc861a40b457cdacb20e4f9ab11af728b5983f3d7bd6fffa0bf218f8354cd960c5c02b48fe580d8b36b88c8c071f9148d073e3fa4b0a7eff9898744a31ebc74d29855c92db892d113d6e533e5034e72b6a19e7b6d0bca707fe1ebeef216aa7147330c3527ece4eb015f965b61b93b7254de1f1aa1a5a687a1170e59ba6680358e221e16e81013a4cbfe2140d04b92021d795052f3531efe2f00048b8ebfca69976ff853700b4cd5f7cd6e23c698b372494b436b6e8703da569be311916cfe4d51502dc2c949e50ee9cd31de5fd7e372cd9369e26a57b392e3f1237781e551f574df15c351c0a0af42286877a58d397265ff51e1cc2b4cda99e2014de5cb4dbffa21c9d549a8ca12b494ceea3cb088569ea5c243d3d1221f9a2feee89341cddeedc85f48cc1186121c2dffbf335d6d72145111e5128c0f0f0f9d13240414ff4ccaffa72d3270258d49f2866543b31b725b1d29c24c7a5dd2d47d10c5ef15d78e9d4092973bf6c8505cafc2ad1cf1a73ba14efba0f1c3eee5f6102384c3e3548f38dd3350e067c47a32a4f7df59551672240e18f02acee1a3c4bb954d88b929f26863ee84e52c5e6825198d51f15efd724b4268a30ae59e198c6906de7bb2045813046d3f7ddd2673fe02f3f38023a2726483ee17b0a9121d4938177bdf1fef4bba888c19c316c010e3723a63d02b8d7282fcd5290ae4e104fcf6646866a81dcd51e86ec79bbb5416f3b224cc5eb58d5fae40ce684a7328bc078551b2b2007ade81b199ee5573a854577e2c1a8b18e872a5c214917bbd585ca55f8608e8f2bfbd7c7adcf3345d53ce0f708870e968fd72b74cce148a3a96007190bb8a089304e3d576b582a1049de7f3289472ad52b45f9492b52acdc2bcb3c235a15b1eadf76865372491861a8b7e6127e3c122515572a11804de6cb35cfee2caab2b0b76ecf5208cfdde6946e0e48b74fa8e5a5f15253c17a23b9024507f20f6d628cba51c5db51dcc1a5f1b012ce72c1f0b3f900272ce5fc88f8a5475796a84faf4d92b0ad8b16d46b6985773c6306b722ab571a972cb336a01aba8a68d9ea27c21a3ac9fafbefccb6784633bee18aac48640ffbd41ba90e4905c9aa078257fdca793e3be812097151127e0ed613fa50cad4f9b2155da4d6d554b806655a157ffe9b18757623a1d8ce86da76605099263fa7c13e672ea74c2e4aac2715403bd4d74590380f98d751d19e176da963826b7a5501026722648097dbdefee90ba0a9649d2062e336a83a44b12dbb0820f944d2646c2a76d3fc915cab6e5fc5bf57ee997313ec9d814cd1a179f795d49d1eaf0070cc3270caf9f5f32d0c76108696051ace3977a02074712fd2032794d4044f494f8e9d25e96ef9c983204bf985188acae6d0fa22ab638fac5e46cee100a6eec65cd47520ad21732c9bf4552462fda28346dd438504678ebffd150711fde15ba5713391c727f2e4c85edc6e795ff5299474ab35d33f6dc40479cd41c678ce179abc9247c3b09932ae482a48840a0abb0a1b94fce6b6d5454a1cdd2b3fe02dcb656ac8eab5473cb315dbdca8bebfa42ae5129c6ebf500a37bceee1f1fd7711c80ca66676750cc264911a4f656e8f480ae31beafb4482dee8dc59190c154b9cd8944c2291429d8b7e226e94df91da25b8c747463515e140313b98d11a9539eab52738d08111a3f181278b67f370adabc586209a770d22dbaa852146334996a9c6765f5356172c47277133ff77a641105288d1233b835f13d428d487ee23404139a30bd41224571ba576d84c79b7bbf810969dd3bc6a0fb2d1be4b339d3e74e54a76f948bbe50c264caafc5f16a47dc16452b4a3c95c6c6e72debeac353c71bdc36167277c048646ef5eb312db9b22dfcf58d8b843abe77477199451c37b1328b4efa5f6fee56a1d1dfa0e9e655258c6ad7bfb09906f4bf6b9cb5c86e125115e90370a57ce072b485657ed587606f0f003ec6bb77f118167ded341a641b611561f40a34cd7172afdbdb52ee919da38038190612d52b79be27004fbd4234af362c2e6372113f234f8181fc0e6db093822eedf13bf24fe5b9e4d4a43ac6a5ec8f03ea21482acb720ee0284071f98b647fe6f1c25582f047c7b4dad59051aa7c7cef5e2f7ecbbd691b44a2a8cb36fcab1df9c9047a28d277841f5c64b427776468c0028877710472de6d2520e0531bd2394b5a121911740a3c3283893b619e7dd41c191dd0d8ed727ad6a4246717817fe6333456be6c0ff0852c623b43f2cdfba6d3fdffba91381c48b41797250743dbb93feb8bd18bdd0b016c34bb495356da2fc13610bf7f5a7270c3fff3adb373f963119b3b01deb08f52bf0c6f66d818f52f6ff2bac27bb026e84f38a44173dd486f41ef124384c65de25e0c15223b43ee14d4b4cabba9647239d5848623e6a6e81b21099282813cc5c057e73f1d989873e982daf7454e67727044c2877258248a81b8abd41019d0092c793c11e3f9eb36ddcc5ad91c522f6d1365f5ac914d1e6cc31dc7d18d26fd0f8113ceaf1c8e75f1525f3ffae5c2612fc3d0b6ab106c6a87e10260ae59f79688ed3971db359166f0eda51596d4dfc7591421dca3e7fe4524bd51da204f0abf5a3a396fe41cb6400057ec1ac8a1a02a56205ee73acb926f4e0b0864d36dcb8b859104c6e52551b2957c1367aaccbe491f9eb186a5e42bf8adec3ff04eee477e43f1f7bb9ed6c48053c26fb4958d8581725b6ceeb3e2e4cb5644c10c28549efabb0455e8b207c5547a9a4c213b061fd9727a2684fd0bef937d8064df5c616b0d29600f3279ffb21e262f864824c84ef906a2dbdb027913fa739e250a9071243330f69aa2d20e71899d59fd7f8240b5da72cb002015cfc76e6bd326e8399f185c6392c717e26864df57f5f0b590df172672b8384b7f6c2f1695e10d1cff0aaac02ec77f7bf0f30e807e6074b9192e2ffe724c48dad36dcb342222ad4140bb4e6640b69513b017711efa12285f4ae955a13e99c6055b0eb444c7db62fa8a56097018af08faa1581b9dc212437b894c56b80860ca967ea4bdc30a58b47ee50687967a2a3c4f1b012d896fc376a306247ba6722d01bca9c29095b6c7d68d9e0b3cb378142b0938960a7eb28fd79ec1b29a2872fc2b236816c69afec4ff22b8b8d2d969f0b82b0af2d599ce0e92a73baeece572828fb257e58ac2649b051e6e539de3676f5745a7c87a28a307dec243179c956507d274ab91aab1833118e2b419358329c2fa7bcf766a8448fef15269b1175072b08253877e8d3be58f79913997d07e5d88eed7455ea312706d0259ec43fb5372d15698def71eec8f8b2114b967a0c35321a204dee5cf0dfdac8c8fa202298e3ad37bfdb1c24e8d0282c282e4738a3a37e1a85221d64f1b9c8c57fd0067357e72ce017929d6c0c8d16ce6dcd3ef8fa10822a2330a3256a816f970ae4bce46ae72e5231d70369dc6632f717563327a36e1a98c58351b74e633c9e10f32790d1772e3ff58e1414ee45b5f6a87a59544e867f64dbf0491e8a36c071d6aa25922d472617157e1a3871d7c95b2e8d10884009f9e707b18daeee2f3bca6f36f26455d72ef44bb7699c00f8797bd0536cc924dac6eef888c76ad672a71f33df6b3cc1f72188c5c6741d58629432b85a8dc0896bfca1d2122332c4355ba07279a208164728d8bc195144fa48c5f93716acbb4e89a1a28deb0f99fa229520f1626082e641d1e4a12c0f6a8f5c2df3059e666381ce05ba711fbdf6edba1f25e7d5cd6b05372530957868c77949e818b452c8e5d77df2c7cf82f90f23128bd473f2dc7e2d072ff0409e2550b3a6905823e1bcc6fa90cec9da45f29064392a84d9b86dbf9c94caec2a693e1ff15e3b7f688ce470f5c53b02b460059b5192d4c99ee1feabd3a4129930de2aa97859919f76542e14e1f69c1a851d3422ea5efec7181de61511c7201d957b01ec286f5b1746e04fcff19d4996d054af49b4d6d37288beb7aed19567594c181f1d94b8ab40e32c0920e4a520d522ca1311adba319c0632f12ec7218524e9d8db536376b28cd309aa4a3377ceab391330040ac6d0462746c38358f6cf06a050e63c8952974d4cef608c956c90c57595b03ed8218b46c25041574fc5f40f0a6dc3073206f603aaf882cd313cd09a25af45fde90c5e5b6990ef17472722942cba53b0af041e7e545056771ace1219b04a6d49b0ef5d996645cd65eb87222dd70a70810eb25c0b8fe3d1a346e2785ce2a1c38f1847d42ad3c9e0d8e8672210998ad1b5867fc19620c91a860bc2046a73a766c0ad5ca2586c2959d0d66378a561dc9f5e7ad37035e40157302da04cd56a0f7373edfe590a34317c2b5ff6ac088e702cd95aec266da459d1c188f4716859eb7ea003b5433a71fea11831e722e83e351a1791ba97cc2ebf165300a9632aafb355389c9c011d01b81f7c16a72476497f2b094f481f5f6f393d61b99d60d3cd6d0cf4b24df4d7157779ba5ba72468955f6e76d15d429d176dc8be431f371bfb9944f9311dde55a3d2578fefb72a4a2234203b1557d77a9191016f442a1aa79776e26ab252d414f0561846ea4343b3ecf85cb71d0b414ebe9cb9d6d24501d60536d944fa61483a1bae92e9d3272074951b44936dfe83102963b0b4a1c20fe3ac3034e9cc7e2c2baba29480f106451ecd483e548f1a86b3f57a431cbd0b86104ced0757a4e88d667b441a76516724d198ba7b7cd7603f7f32a0e2cfbee55ae07835711dd575410ade8a8d305167287b173d594eb3e68c25a4d4e063904a3a1d24e2a2d89586f96a33379234ab772c3e4991c041420001728e4602a273148a9162eb56bd36dc582aae6eadd272572a8ad7d8f9d4b5e603c5044e8c97f5172c08daf7e4e0c95b38a8118f10e227462d1061adc0355044c2142fafcff14bd632b9fa9726e711f3b3a52e2eae225a236cd2cd276644c3d1387239e49e04bb065d07d51db8331223cf7a5af8d867c124bc2c1635dc3705ceb1fafa3cb1466a0d34408fd60d2b69f8ebc3b825d6bdf6a727d0cf868477584364c14690a00c2e2793a81d373451461a40548570156b2992d41ee6c8f6d5e2c383e7d4ecb54bee8de72a3cfc2fcac85be6b00470b884162722731f096376fbe1199d86e7cf1f351566bd73d78ffb072586cebff6c31c8c372a51ac607627d1351f22ca989322d3e61190506495fdcc958f69764efd2a1f74eaea5b869a4fe0b44f6c67c2ab5d8dceaeee015edb1018811efbe8a735f73154783520ea3759a6acb6671111c956e75c15c94f187306eeb09a8c344fd17b2bb72b8dc1575b45e7022cc444699e6c8d36c02017c627862166ca4b546476eb9c872e86bbda79b3fa1b9e2921fa8451f2b22b7a600f89e0507b3010f8e19720aa772672b44dc78dcc5c775107b831e9988336da3d5221489f45432590b21d5119c5c27a7b0517169db747ad4080cf144e4016eb17029ca7861d9ee3aae593fcb2e7264979c33529b66475f43c0e650572f53f05e5cff1ed04ce18f23a6ba2d01b472bfd37ee926ac2d3784ad377b68c33be90a21c4d71018fd76bb792f30e1799472d43cebf97bd822e4756f4ce4e5ea36e86bff8371779fe9dd7c8e056a83917172b29fe2c6490b5993160dc7d3e4318e9383e51c791d67311f031f0c730556035aed371e69448693912f13464138f1c4ec1502b201bcd2170b7da53a13dea0196bff1c869d818fd5495bfc6403a43d2e7599cea7a85d6f2523ada860906be11a72913d6495dc47b3c671edcff0c46d5cdbc777ffcc97c1978ba5e9f4fdf3366c4960366ffcc4cc23713245bac3af09168c0abc75a7e04a61e793591d974fcf1025671d9b61a9d60b70f8758f8f9724281e53ad9b01986d3f4aa768ef87d871f854e92d88ad6eba9434bc79019d1ed4520adf9b670753031f0fa9eddcc36ecb7c72e49e41485bd61c11333a1d33013250f3caf76da8b2b67d46c747d26a0df75a53ac53d58f1a91b1e77c568caec53b88ac3bf39660ac89de6ce4fff7d393b6aa72424242abcc40b5308753ffdc6511ee51abe7d1e53b5e99cd79ba3767b35f8172a3698587ee35bcfe71131c62b31c373aae4a7a5904ef415bc2fec19ae8ad507262570aad69e989073b331c6b1309df213754ba1872de6a62d3cb2262a8459c7280b174f95567a8b06c59369c97bb172b7144878acc0095884fcf00c07e811249ea87bcc41db3e74474227691e90ec1e86501e4adeafb43f51e5713eaf1947072430cadb0f6bad0fa29e852c098d042acadc70bb241474236ef41f41311602172d31ee329741f233277bbdc49ac424040258b8e82dcfdc7ec8daa799c8aae847232bdf4c54ead1cab53810ebd5cc7ea2a2e7dff847de5a16b63f5b4f6b74ad20baa0cdae25dcc13c0a573a01bb3fc24d18b5e6c40df680ced1dd097434bc2d6165fe288b0e9ca2a59befd9109d482847c99be3f98c1468e2d4f7b0741ab2d9f5cf084407654cc975d552d9a83bf8f31bdaea1c36d913886595b61207ba15b204b210d633ec46a1a6d91a47bb4c62dc69808c1b49dd8e26aa172d0e8d520e08472cb99ff7ac6111f4bb7a1fb7a33b5a3fb635897276e49b2f0f57a95a917f7b272de7f2969025abce969af4ae9f4752f1bc8653b0af158c18d95b3279f158f51724b3a7660c9c84cb8dfe41fd1d62c7d0f5f63c5bd2d5f0f30a6987698f95a6d721f65db54f2b42a4fdafbf39f35743b7ee845f02e9d4c302fba05788d0fe97f72b74e9d66d58b5a3858f09bcaf321b2a2dc3d5c4cbae0f335a9e941b2c7b98372677a45974f65795e4c0e03208857c75f081f563f5074a5bd1c5ee1200167b8725c9984cd1ad442c32d9ff4ffb4fee47dda2394a7a764c0188be9b2b2e4800d658e491667461a31b6c7979a8db7e87aec8552a40b6f876a52933ba43b75a1c94a10b0fa23767f04a8ae24d89a56c6c32f2e502dc025206d58674f9ed940506172c8e78a9385d78f6aa4eb192adcf497c9b879019d40edc2baef5eb01baf112172d2a28c3bbf992e40d4f09ef32e47d71b5426bdb267312b141e450222461e59726614a8436cc5bc7c085d689d5d23b371732a4875898628c9acf339b44d87127248e307725d3465bcb7616551e7baef2f43b06afbca32df787c80782fbc768b15ea6b9858ac2e868c5e4ce832fb6067b5f1dd87480ac5cefad0ad4beb66e7cb14d577e9bc4dcd1819517caa682af575392fd08e2050116cfa7ad95a162b38255cae39f142c03e2ae3bdec840ac4abbc8cc922babc3eee1a8cb4878aa111a6457295bd56f3e57701d33f164416da0ee897530f207c2fc5e8911275bf158448b506e4d57db2885b8b4474d95775fe3fe32fadbe29d5b1473247441ab2c2d5f3270c04e1b1af265d4ea583cd9137050ab08c6d7cfec5aa13f514dd80171e2a48bd720436037073a793f1d6e61678532296d76ae3b2b5b30fc13c01a1f730ee6ca517d75c1dff3c2e48cae5b88c3254afb71d091e2b2680791d5e6dfa3270713290723333f5e373d1452b44a37635298905214caa9cf809834fc6e69a1197345ed2725320442e779a083a3010ace7b6a5038adf15c01d5f1578ea317982c3aa5e960bd82ea490628c45a6c483f1d2d957a96bc6936f95a981569ee55769fc4b37a3720b1c5e024c3657f31ccf107cf5e7b5ef458a0978e469c7033582dee104c47b724c8ec264c5e694088df7854d3843d3a0162d98fea3c76acf7668b9bf4eb98f1920150a8553af1b4523834a2be5b7b51bacb800b3edbdfb585fd0adc575abf872833c58e266c59f4a7ab54f862de913986f65c846af4f3f7c99b53c22dae8e1255700bb43b933a82025a1d53ed07a992286c39c429d37dd000f7eef1c86d5e772218979bf16399d4a2ac50bfe234545d07d0be2390e79b9b9e8d315f330da4c72481dbcfc9f5f46542a45a5e281ed6707096c939ce5bf4539740a7df039926872d7867416793d10ab1ea161a3c819798f02c4e4a497f348d81a3484625f434672c00a72597215c50039ab361026b97b88afa9925487576b047bcf7216c2935872be9a8bd33b0b646efe1865985b9dc12bfc0db0c43b63a2a5f0df7b37f31d56726b4e125a1fb84887195eb4591a3b88d3822072293996102514f315b6d1ded825f7f06f9421978d5981faf4f5f4d52488d21ffcff6b14b04870642bbf50eccf5fd824a648027251f94bc6b20d396f5092c44f22c41bf081c9b8b253a7e39a7972db6aba7bfe5faa14311a003ded27e6a501c99b7f137c364562e4d5b4e4090d7290a94f4afb3559997e4676c214f47c42cec8f1ed539817b076934cc050037c7294034435aa47678fff9f156675a845ef3bb50e5cf63946d6b0e53c09cace007214dfcf0ef0625e1af43926752b7720279749748f36e8409abc729bd1a1b9ae06daec9ea564e4ed301a77ed7c33911ec044d82e9c4296cc173c0f01298506c972ecc790eb0a63faba74adb1f77fa64068ebab8e3c9840be74274374af0250f3728dcd4f350b571306278c7fbecc95c6a98d7a16faee8598801d101bf0ce90471c113e12223604e4cd0d324d796ea5c52a87184da4aaa490c5fe08a00dbfcff302f0c4a94ff94f98ee3b0da425b136fbee8040cbc0670a6f421504b2205cff6d4797124d33603770a2d1d9e79cfe90ff43df98cb43e0ad0858e1b39c2bd1713d721b2222f71a91e26c0c722aba90a22ed5eff33601874d7be60cc6bdf5b98e045b274496d955af3db9196011fe0bc73d7ad077a43368d92e1f20e7e23a4f60eb5cc7f42fb126b659e141ece5c2bc3c984f2777c8ccf7ac55cfe85bed19d15c0458212b30417a74bfe19949bcc3ff2bf70bd0cfb2b92df88b627c086d814ece4a72c47b041bbc0740a255d984e729cb6db1551cbefed7b31e2fd5a673401bc24e53e59433bcddb4fd669f056d437d1c3a2644c75d3fc7bfe1511c43cf9b5c6b5d454fc7f6ec3852dc4c2f38b742f94598c9267b8d52434f34d88d6639b6f8584c5c4f3cc00a01fccb31efe09134bb2ecf20ae6d35a5c09bb076ea78c1802434bb72ce7a7ee0aff4d58b4494d9273614fe054af5cbb3edcdce10c3df402209fd0f42364a2acef9ab633ce4befc6fce152443e36c92f853db5583f9a273de97685a7251b94b7c3a6476a1a063e801d34df7f43823150cd2c433803b8c104d88690a72159a2cd07cbc935f0ac6c3d3213bfe91981808c2c92240bff40221587b1cf472f85e32ce6d093117672e4fc41dfad6e79e413d3f0780478dfc766665d93e9c72f76447f6bc323fffbaa7983ecc07a6e614c0a1b180ee41dfcb5ec1fbce2ce40bae968300561a1f13fb5ecd51b9ab30f7de45ed561e78f2a20f1e1543e72f25723de87b3d39480c5590ebf7fa21f494915766726748333512ca532dd89a15fb09f62d624e95eae3720656a79eb814ac96bbb79c3909251205d427542b0d3f9b1ae39d711c1243412bd4948dbe264cfdbbfe0fc03b725582fed462b386ceac8d729be4ebb8f92c7d4f94279f8f46e2fc0a1c76712bfb9ec4eda7891b6bec250d7204dc32fa43012219740faa71987b0e391346fc6377cd1ce5de8e843deb4a0d5d600eb164c24fd6639a1665145ba3a31d531c05ac1eeeacdebfb9c7c58a3afc2b736e54ba5204d7f8d946db3ad89bcc8b0e4c00f8037cc4b977c00f94b2b60c723618f3f1c33c121b28520fe5fab7fbceea38e7a8c3432958c8a311aa8901506752e7a1bad17c577ae8591eb26c33bea778aec65167334bfd0891906646baf2725f03b83c3e1f19f47f96b7b9c459fa70687434e199d213968086d4d9d414900927138b1a2af36e3873157cce1cbcea1f0afc8e07691f71dad53f660d7cee8172167348a11b6b71a9bb281702526cf82fde7041bbe108c934c25cd237c5d9d311a6c54a24f4a659e0dcf0e299581d23bcb727274d4be19df0dcc536b097d92521565b6b40db6bc877e86de879af614eee0dcbfe4509a95366c8b0f3264467cd72ebd813ca1d9401e6c7cc52a46810babe4b7d4a0eaa5af503633bf73331a1e57200ed85a4339afbd44bd91cac01f22e63b873e36313375b72b2897912127a1b5c33ea866ae8d61ef0653e47673f15db268882e0ce3ec6e6ce7d0da6e1a9b91725e21582d6a092d83c3e841b78a0bf639fc83d3aa081835c96519e9deb6cd11b726c3cc29a12f7fb7265e30fbe3e963d5c53a048a385f0bd702b5ef51f1f59f47260c2fc9871f66848e6c2a8221134fdc8fb39bfed94a11ba4645feab0da53a572df3a5c3b95f7a7ec30a4303474c21dcf11249b6eb0682fb492592d16eb561a726547dfea86695cf53a7e55c582a11a2dd74350f2ef34e88f39e55d4321f088317f56cf5c87eeac3de4980602e69dd3bb55cd71d5f574a681bc099d6b1c939272537710956fee24aa4b33bb98e12eefec0ada917fbe5322dd085ec2d3b9a77972c0e3c7598f346ca4e9d173440ae1b36c01f212cf88520ff53cffe8c45feb7972ac33d4b0bf1579bc6f874e5c8766814c9359f17706bb6f3b8bfeb66edf4fc172ac2e55382f6da2e319e81479b476426ff403c01ecdd565edcc13e49e2428be72ddd5efbf2d7ff8346e9bcd4d5b91ae8e88607ac4b6bf5b8c1918cd0f314dad3daf77d2196c92a26b00e9b616da6c04d49a160a776dcc30d642b4c973f092e2720290af94fa5e5919f6acca66223c40163c35ff7bd48268603ff10d42337f26605f2bc2d0866eb27eee0a77a2a6178cc914e77f5c41ee1692b915b9ba9407ef6e9a12cb95495358a383e589125a4b6a96cbc414caccd59f86e9e69ae8b730471a42e44a6361ddb0232f16b6beca3087c660116d72e7d95a91c6676dcc9ee4f872f9b1c344e0b4937519ec56a07d58897749f8f2f253931e3109689d14beafa71d0fa4d38d7b45443a238a485d4ceab7358543663b590e26d40c92c342c8a97d1962cb6dba0411d2b586c30114daba6ef395cdaff3f8ea4850cfce2050f4972b43d1be8e39e759065024a5d2c78baca3f51bdb5fc956758ed617c7457c32d3b8700257dca038eae810d95b44ad82fc673b87c8e33f5540cdca11d36fb9609169729495629e956b75dab12b06160fd3e3d9949b1e73290bf15683f2d5270c9bf372949864969d508832a2de22d29fdf97651e21e2c32918e7ecc9b4036d41f2334745d4219ca717b8dc249d3a9ceac59b5008ec62760f5184461eaefe13a4c5fa721890933282796174416b7a440d74ea93e136ad026610dcce8b1ed17708cd915d17a6ba5dc9c2dbb88057749efc9dfe932c93002c9513d1a8c39a359dee829c7235173c04e0bf1c615c84a7e6d042e5fb3770064083b862e9e9547b257e75f30b3de32d0be5d08aefca1733d695e82f3d5c22028ad3f2d03fa9dabd26abbfa57286a5a33859ff90bdd170a089c1071aa5fd50862ac15e68e947ca726758b2cd72cd7d5234d54dc3256abcdf10ddbb9e96e4cd03797654fd25a22502497259d0727a2c5e9f458285ade166e5530bde1401cebd7ff5db93723684ad6471c012df728b4ddb24bf151cb7d1bb910ca05bcf291985199d929cac2cb778e8ebe8014e72264e4c1d9ff51153e07c7e228a22a821bc9f27159a4d74da6e259ea3fbf97772b672ca205c63c6937a09927f52678e56e4a6fb7aed2c61074825b6e9a0c29b48c82bd1f3ce8f8fa7937aeae2c4ae7eafbe3c24d425355b071ac61f7acf17b672434a9904f03141948a903a2fbf93ee3fc23fca361413c7cedfd28226d02b4863cc70056f55ca00b8a7ec95f16e2e47b190dedb83a5116d28b3b75598954086690a3b73a596563a79668a764453eb8adad772a98a0eeb97928f17d958ca511a7235b50e36c918e3344732c8e99a986ed16c6693050ba20c871361f01efd6cc7132790065fb271c96c971ee3ecfd9a6b7a103399db2a9d24137707bcfc2d0b07727da884fd501810d718ea5f1440410b222b33b959e25f3d99e083433e38160572c95c510490a5b188b92e8fa0931db56367b2cf7421760b0ea4c0cb196a08a572ae3a263673b4fdeb0d1a1bfd7af8cf163d065e1e3917189fb9fd06c2ce382f6abcb80f65385f8325c2014faf50d5600574bc0916a7ae170e6da5f4924bf34b097751b71a74730e0336174d456066c1bf33d12609840477a08cb4acf8dd5f66721a6f1948bb0317de2ff3107decb9066da999e0454b730c525b57fbd3d4d2ff0a976202f63770c6f7a44f334ce91015350ae5fefb42b93f219fd9e86366eb9e10c5c200583d8bb616c83415e9dfc876d86df0025923f19f53a5f66dafa9bfad72b65422edd2a02a69b296f8a3bb648053c7da85206453e899a38bd6e14e49f0132ba2f5a5435266a8cfb5c338c192e3c7eac5143cb1d838ecaf3b5b5ee5b49150c0a2251e5051542232fe7f6a0b066254f8af1901004c0b8d93419e4d5b480a0c76e0bce7031cdc23fcb5f4c361fe1c7bd518c5cb332d8b0c4377e0c3cf914b726a6bb7c97f6e2a63866ae89867aa11c79a9c5456b4a71af39f9ca96234ed0f72a3df4380d1f9668698ee713ff6f9bc6bb8fb4add652b57e34badbf13e0c95868dfc367a3afc19cd603089b425d7fcc76dedff2efa990e18bc4ddecd90d12eb72f53983765e33d968d42d755092b05d3c0ab466f1b5889733a3240c6a8e468b391251d70d2f8bd56d5c2de3f1763aa4b9ec56ce04a3ca42f96c6d0515fbee5453616588049e8ec5eac44f800166777bddf33744d1baf6a94368b5db547dc7ff134f80664c0d005c732a0cf54995c9574ac4b4aee13132bd3a0616a94b51d49a2153fa656da99755fe55f5f1c24dd14efeb20aaf3adb739637031d032ce203c0660d7d6df97b85c15ddd228af2058f55088c23f423bf0296a099dabc19fb51f0722456260450861bb281efb2042039cc69242aec7edfd25875c7fa57a7d7331e4f3f98daac72e6cd552b779dc1374ea799129fba42e5abf11b51eaf431da9f9111600e855e703f7409d198f9135b03c8e40b9cad93deda81e263e58a49c58441728a618e11734eb7183883af6ac917e113e5c65115deebc7ff305d61b27c551662f27c84b4deddc5e4095b3d10ed53151051f1a8289cbdf1ffd7942e55a5f23b72f3afa3fd9706f8d909096cdb3519157d2492f2a67a45e195b1709f651b78cf72fca4b41e6a11886f479999a37f3d82769102f46e4e9dda09339145a2006d4072a9de63b10c6dd5d4047b8ceab6bdb6c5b79f5052e5b8836c1c55b8493fc87572bfa8a6d8f7216561dc8d05e1177e56ce8265f45bcd1b5392ae4c3e4af590ab362838fa44e4bcd237504574dcc6a534516d167f424b3cc7af8165a3d718c11972b75f561c11fd187133db4c9dd4c6fb365a181951c10c4098acc38873c97d7915e53f32f7261aecc18f0ff20da53c2ad9865fd50a677be21d20bb90aebd02a47202e5c746b77abc67d6673b5257bf7f49d875ea999b44d6de771f3cb9c96873728c62e2df50d89eff1e2c67a9e539ff181a7ddc0ffcf2b7f4610251acc8cf5a72f8a275110dc82f9bf1190602706dca33023d0b33197391d77a320ef9244551725d586318a891eec713f460f20ff550897ae3fc74e237ba54b9957d3605009d72683afd2db8da0d9d37e9252632d2c2f52e0bb5084604fdeb484405ce2f34b91c8b83bfca3d03e3056a3167bc93feadb44635435ad959d8784c4352e1f8d25868e4eccc716dbd8377ceb939933a43e50f533c8c0bddd3959a8e162163ea3b2c2f7551a93920aeb65e3555bd35e4977cb0635cbfa3e7adae47ad16faa8b7aa8e7250e6ecc47bb15a108b0afcef1c24622bcefa939bb02c05e0af6f6055c8505b72b5997360b253298ec3c93113c01de8e3336a999448f0f35382ddf80c9ea4e35a1c1cd03bb7a0103ee7304ac1b4f8e63fba97ff1f09ae7162d5629fc804348472ead799a9822bc42d11e8ef4c54261a1c53fb6b4c2d74ba2ebd78717cfb24d372fd6633ce5bbfbc3a0635df18c9932b230cc547d0da9004ec2ce26c06ef95c628067cd0082a06f7cef4eed9970c2d8c7cc60ab4fb5d6ec7bb08ade6cbf5ceab4697f75db0ab58d6585b8e5732963d58c37b6904bf7d3cd57215725111fbd23120214ac83c3c810c9f3d4a9a1e43286ffb3835972bb6fb0521c107a6a67696f0449095f504ff1c75d0669052c6a45ed2c67d1c59a792ed2b9bdfa09d6fbf856772960633fff9399c0f86b02e16025b7176ac7451b3ebf384792e98e96660a9d872b4ca5aca54681d6c47f1db218a588341df779fc202f8a9726a567d0ea1a7b23af7d14bae90e86d5c2798e7e0207c6a63d99e0f698e19e8fd2f876b5505c3fb72ed4b49e323b26f4cd4b42080f513eebbeb2fb8e39c31ea34730873989c461200f99d1fd3dc40cacb6e48a523a53d0c6806ab66423da93de23e503f4e94d24423f801e788987a9ec45987ac3ca0695dd535375c28025891286e5aaf80c995ee2ea0cd81d13c282b8a29b6acd11e6aebf231135ce0673536e48dae37928439ab72b10e60b470cf8d66dcd9d3422ad47d0c95f6a25f17e49633dcb0a52a209ef2482ee2467ccbbc8a97e665b0ad7a29a811f1bd4dc76af662ecc6d824a39d58b50f3a54e29d144a1d47bf4e88a672af073596bf0681d4aae55b504307b48fa7d572d2db25c39554e83366b745e4a0e25d24f95a63731804647fec26d6b9047e6772c76c01b287c2bc98a9de0af5ad0564df6b7d21c431464888849e645b916da972da4ce24af386ddcf9811edc09eadfb16713ca16ccf95cda4fc56206e84906f1aac30b31716bf035ad564b9dfc5bbe9bfc85095554d28852149f712135d036d7282206d4819f89701a7ce41aa3dd434d198494409311f4f05431ab2124e789d15aa7a5a93d8973dbad29eed903bea29ba233c20641da427f231c0bf12c1ac4254dc1a9d4d9a2cf228653bd386f9dc0c283f04a4e91ee3a2d6c03aab50c0abf9647d0721b4718d54db43324a944812b96b6f844a9a656fd3d9c4acc8f0f21d867241ae8bce70fc98fd1f577d7bd7da2f309ed7c45f6eb889f1a68bf25f3ce1d13871eb3f31ba977f20cc7196cf4fd2e2bb055f9a779e0034ed56592601b7e91510702e3058767b95debed35917a334dab2e14ff9b0a834daf2bc2d5a27f51d3272f86d7cc7001aced755f07090af7765eb2b77e66b5bc95b36aa02878d8156c32895fcfdfbaf9c69e5409e48884d6774f32489b9bbda65f581e3601bce5c950a727f276b356821fba8c41ecb536b36b2e632fbb4e998d01d5c109a1ad1d7792672cf731cbda5f13a30f913e4e2dbda5245d21f09878222ab1bc37efa3738f652471797e333e6f53651e6623bf8ba61aa03fe190fa96d5d1290854ddc60b6ed38721e184f0fbbebcc5bf50871e5ad826ee9f5a198f071a57dfe21fb8eba2083e71c9c49d9d4e0bca26882ed3c2b2b757696c07a16b7342bd8b3b11e10d339ece82367c71a0fc255dee764a5457cd534d43090c87750ead34211d2d47fc84dc2cf7207cffc77b0e890803e1cd26bf20a0f2d22acef7646b5f9bf090c4bd6d15d6c72da14938b6a7b63818f2a173e679a5624d56588e6ab5e608e9c931cf36343f26ac06c4c6a8d18039c69c20d4ac72e4881512ea1afab9d3601b66c5c14116f401749df77a9551c70b4bd9de38b751030eb7ebace01a304df92e78397e2cacc4368f5b2bf3827a569b3ef07c5ffe1396d7e9fbdca0b841570d302c05c142bd1fc72c759fcddd767c263aa79384a7ce664c3c31942ff9645937d54ec8e7efb61410c79f7eb640ab67f9b33755e6af5e6f8d2900fe08c16d885f162daba609842e94776c0822e5035145fb0026ddb7a15082c5fdfcee19d24bb220704a5dd136aea7237e3fcdc73c00ceaeb7e13375033f63b8c28baf463d2e8e54e809ed7b24ad2728a486d4601d2c044d4188fba8cf2ca1c21b33289ec0770e0f4fce25af0f5fb72669a55c77668bc03a16b80c718c5fb8fdaa59b8adeace3a72cea905aea099c623b607435b5cc364c5ccce75d667ea04bdc4a4adc35acb18ed099ca848c0c6772a4ff596d4320a50a545b6de93efbd86df6830e06fac47ac95555deaa4d2a3672465a6cde8bdcebd9621d66d39aeceb032aae7900ef256c5fdcdc2f47db12a072270e9fe137680d3016be3ea505327c1e1bd0941425bea1bf1c5cf72648870a72d213d99ce1461c1db59a253ee8b6920560ea9b7ea5ab1670078cba2b75c54d309b41a850ae492ff3c95c2758474d5d9a54e05987febe31118637ee8ef5f1d972636cecbecf9c48ff99473fb8773c162c2a2907dbbb5cb459878ec81e23673672df4ff58741ad55832c5a47735f45ba88c7e94d9aa675b4c7412819878730bb43112669439c974c075aa62813c29efdc9bda0c73329ba1c271025920c61105872e8cde3718dd0b7a78bb51773c67af74e0a3042528ec5044258700bd49061d32c2cba0af1b7771781ea550075716741815f67ed0ebd4532ae36623f2613ad607201d6e8155f0f84432f5fc4811e98cab603c40bceb6091abdfe6b8c313f8ec85fa16be66ac97177c734d5e7e08ff3f54a970a49505d6689632bef6e92a2149a0eec28400e79de33193d2a9be1736e904951790850635492609b936f0760c6ab7293af98be574946a5a12855a01816a90f162200e80c44ede6443db33c4a3ffd72bca7a4c985317870e22a5e3d4b9e2997e08301446a934d59baacba23af44f472b42774e9aa2c23aabc96dc6b9c28996874d6e942b08fb3263a2a223a61f0637204da842fc163b69ec063c5d07390461c80d0c55c2fc453ca5ee74253ef26cc72f7d39ef2fd871aed09859c6fbea86d7cae656d549e13bed802b9b252b2eb6f0a2488d03fbc7956aa7062f770c699971a99107c9f6dba87ae334d2bf16a057035475d28660671620b82f921ba273f973d45ca75707867630da9491d0b0a9e3a1959432d4474265065ce454d4d9f285bdd12d98c258bb17a3754e028b80a4276722b45e45654f21dd6847976d9b4c9fdb589c34f83426a15922013cfac24d7e972e1b87895ffcadc766d66e4d9399af176a747c7e216fc46112b81504874fc086f3d2c56677b0e0bcd87c54e1ed20a3dd999d08bc91a6c44e84f1025406a302d724befac85b43e515606ff6e52c36b94d352b7de45ef23ddbe07c5d41db2d793634d9b860761e00459d96cb70b9981368171072e945ddf12551f45fca54ee9cb72eb6e540eb90f4e08221a51da175283498f8ed374419b905238b49e4e0d946e72ad31ee54b4c9069acea5ffc990851e40150f46f4793924e77a0cb58b4fdb6950bb37742de32c3e2401467e29513a2ea1741cd1128d41d3a815128e4ae0b30e7262668a96fe2756ee6293436690d2c9d87deca0b66aedb083388f9159751a1a72c4748c1450e8e32ef382f0433a607c1e3d69c542d771acdc744e92d5d9484f01cbdf1a7b8248f4643be7c82abce45165899d70f277b08459a7842083a8c284729ee783389319dbae76806fcb6dbe69b61809b563f60edf5dbd1f83e059ab3d42f3f74726841abe055926f483d7c6ce901ef672839f20e6bc553df0ed79c0d072bf81025ad5ffa537c6363db04a106dfa01a4b0951b296b5ceacaf1034e323e00d53d5802d326102f95f53b4257436c5a76aacaa4ef708645e282191c9ff039396e930ebea6036b3cdd4b8b70b98d2d9e51586dca8ff41b4ae214cac7bf7cad7232a28a6077cf9b37217e943b4f02f5ddc7f89106ccd834d9f9fd4604c39d9472b1dfc20735fb987bbdf8a359c1c64c6df3effb3cf3d6583f9feb0bf7dbd03972cdd4b7e076660ebaea608edc673680153d61c5963d078f7a20e706c98465b272c771ba07d922197fb85641509f6e6e9f0cdf25115e8c9fb682a397ab80214348c99bc2548f321b25b0cb47b7b0e1a75fee1f973da5a900d15df967d0bc34c97231875e09b0ed64016c5ce9d77d0cbc7915c5817987938827465a4def801c3a3bbb0bcfbe385dbaad3d9054198913e945883a9a577c5f1cdee3849247c9a6d4667b4c563340ab6bc49d1013af1224f890bec160e27977a2032a3b5045e3e1fc722ce2f8cda5adeb1208afe9af694771a59ef78afc2ea0bccab5624a431b2496720c46d801935bc70139e44d2efdc8465f95e23695617f256db8f38657e65ef3727f33d8635517e1f64393c44637e7abbcb394794878dedb3c1bafaf72bda6547232989d6857ad2e931d5145d72de05ed7e490b6fc0fbee3615542634cd0acce501b9e9a6558af001d4d44e8f15e33c8bb51392cb02d436800226e3ec61f81fa72de0c5140534951296511ee7d4332ca95e7bba0cd6c0f8fab01a0a227985b8c72df0e16b50dba872f971b10a3a7819bb2a405aa9bde16185591b44c854fcd417266bdc077495d825459b6d5e08d3183d85dc41f58371ca76c38544c81c995f02f229c0afdbbd2ecb2fff2b5b81df219d273310dff4713ccbfb40cf234b1587a680e3b46a6ad4d0dd8274054e8637c31cef05918a27e2b1b67c24777676a71456ae93f7fb982c62b9e2c2ecc54634d5e8d47dc7126ede6efaef07287e7ad403127543944df66e4d942bbd7beb4b4c100f578d26e4f03cda2ea52bf5353dc97d35acba32c5b38f684b4cb7c43f60b437475c7e9fcce7105b7894726b374bb6ae172c6b09b58a58aeb2fd85295bbcc263132f9a8c46a7d697f6d57e5a18c16bbde58cdd1ce4dda021eb17447c9ffae857d40d87f347468e1dfacc2799b3a69c2a01329b423b9b8ee8c2a079abda0d6f0bcbe69a44a03195fb1503a73d210a9f8076968484eaf87fba403a956609ec3a86c3f7b63df238e2396586f10f260fca9ba5a734272cd5444bdbaa55c88858c0e473062976ffaae23ebc14d29729332538172e94629f9a6879c117ab33c04e819a4395ec70c76602bd6bc36c9f9e1e3c80e72b9aebf9732fc3bcd025d596006796b712077785e7d0e87b737f0a3e5c4380e3aeb67e664eeced5b3039f631b8099323539f5c9c864a2b4f8102c2bd38ef9d37216d1662d043f59f025d9379d6c420f2794579fcab003abf83a216aede37ed472de917483d7dcb1fd67184c602aec2822d727ecdbe996dbfff674ab0ace391b17be6fd182799c86f1812fcf591c703fce0360a5eb4d7582d1322c38b222fca572927f6b5cdc86169642fc73a0273f2a52d0abc507db75507fda4c78757899d615dc73de4ad111e9cddf77ae7dcb4af6d4c27bf87b8461fc8a485417bdc86dbe721718541bcac6a24ee2540f4fb9e82bfbc42b5e2a5c7619f4d0951c667cd13140b599487cba1465106a10c0a850e5c5ef4ff0d6b1f31847cd6b75abb3408ca772438425ab823f2619f23f1e0608fbd509afb873ae07ab34e6b4bff579f7b73418692aecd4f96daa442e9107cbf03f5655e380b3c9d58afefea984c04adf41835d3c11b4a8046a9fddd94a322577cb359601ed329fee2f8a7b43ca8fce524ffc4230af1c1fe54d55bba943ca4f5e2d7bb75e46f64b470a12c3a60b2c5e6e2b3a24d2c46f05e1614793a08ce4d055483c1e2178b1b4ad1a3b49c8e7c141a2212c72e8236562bfc53e8bb0d945ed505d9d40d3b902a53cf17b3e0687a647b015c0723c66b20c32726f371b891684cb9b0a9576151a5f5b91b48b3bf6ac288ccfe372e978c5b33c55e2ce582eeb6c566a5b06cc57cb0a8e3bf8b19e3194366c18ab72c527533f76375f2c6f29fad5187b1be3be926a299cb64e71c9bba094b1aafd27dcb34d4036bc2b0439a76fcfa3962b57d92c43f422394ecb841ccd8ab21e73149c564c4d93453ba75b6f43fb5d3cdac73ea511725336472eac3f28dd7836807242592388887eac273321a8f3ff244674b99dfe294e9bace67422fb46d7a1ba7231df200f9c30be66de9ace4cf62154b228e8f23d3f86331905cd7136b54fc772a08d1a581989b702bef9facd5f013ba77d2fe9d59302f633d497862d1adfb949c0957fd48c8e7e02beacac8b7a060b47689568c5c6d916c0dcdb8daa5ff8d41114831072077d2e5062262f96c82220578ec0821278e00046447a38fc92a0fa7280d9ec7f7df7c1a4662147c8e31b9d2c8ea5605ae84a7396438c030aec790f727cd66d246a1192b34134c891c9fbccf43fa7a3eb76c2a947e73ef878bbe0ed3e29ea7bb6b1081351f40c31c9c3c45fe6ea9c9f8e962d3226a411369650953a7296d81988f4e0eb1eab0287ddb614caf623a74c917d7560900935ed403762051975d503b24a0c89584a456d9fc3f90fecff8c2b993ff56d53f2e124346f44ac44978b8ae94aa42a7acb9bf0a3ce9e39207accea19bab902ed9ab4c6d3aab6c0728db3b105019239ad5395e325f3c77367c45b3703c888c4d2d9652db9c431ba7299a810a8977499001fe3cf37e602ed938eb5042c8fd37df12da1182ed1ea012e9c0864a4f6c1a0d512e2ce3947fba644020968d8483bdb5d828a58aa69b5da10e85af4049b4424a769c7006e13067a4ed492f625eaaabae8c834b7e8baf1fd3bdb8e8c2be5a71ef36e9bd5c3ecc46eb31ca4179201ebe4af8c33b299831d235da81b0cbaaad0dac73500eb8b4b0c4ac84b90bc5caddfd72810ae6692ca87b072ce9db328ffbdf074d4cba6b8537d3556a12d5344dafaad03b44254751adc1610de71f5f358f4f37040bfc6400fccad4da96665427fefd41c36addd1acf0626342910d851ef2bba8b2819b0025e868034201660448ddae3e5c6e1ad4b75cdda421202ba913d69060ce34c575ec6ebb41d03df08a5cbc0c88034b6a3fe74b8407295f34efd50f9c289ed936ed202c0726f0ecb157f4a1002e0054b671e14259924ea076f2652f6f75d049cc5084fd4e94162e3b91c5db200f98ffe691aa096440acc819b03fbfc57000c93767af64b824a6a959691fbc8804188126afd7af7a90484332944e1e3764775acb9207139ab7180bd6764226fc962d5eaf16aa3ae463072a817df5dbd9369a69765507d79996afdac87c74cf0e12ba73c34bfd88f440a3510f6fecc4f9e1bbd28d14591ea07f83447fb31417a8c6c585a339e3ab423553acd4cf18819ea18f8e894ce319902285023c7367acf23e2d0e26f0569df0d7248eac4d7800d9695091f6364797f6c3c0d287889a75f62a530a60f8d8de8c172880a329aebdafbc46aa82589a85bf0a82434e9b51420466d05662f2ad45e4f7264076382222d67c560e93f86f0bcdb1358531149eeaf4d291ee286df74e991421de5da730396e5e604f4202312720b080acd901fbdef8cd463d3706159e1fb7294b36c7d19375848a2776876bdb21d433bd234d019a9bdd978691541b89bb80edd89ed2f30856921f1807fc8b0a3c06ebfe1871f8c958d9e626b3b797d3d8a7279ea9d19a96b690c3af531eb5dd6538116c8d11d96bdd6edff1538a8fdaeb46cdcc1bb3c9fa8bd0498d74cf418d1b50860359619f310f38baac5ff0ebde6b1727d53e221ad813cbe7db5b64677576fdb74d878b6a34eaa6577c1ea86f679ad727c2efd3bd25e780d45f7aa3c447b49f8b65e77a5174e788c3642390b2e25dd7284039c7feccb12197f7abbaf1a9bd533385bf7b537dab1c7bda6df89350299726abe3aacad8cbbb7c149afc7a767032c06c5284d25a0b04fc89e26002c01eb7242ccefab2a8fd7368cf7e138834819d500a3e829a715175d1bf047b8505ad114ba428bf4ebac01fb00f0134a0fe9b1e7289e752ccaf17d3d32beca715ed8a172d2233bc4aa6a470e900b703c31725fbbaa129b7a77748cb5f78f78ff9a88bd72160f353831073969a7b641c2d657aa31be159faf01013f26d72c2edace3f1965fed315e3e7c7cafb0b8e793f488256d799325744e508a5d80a0201fd606be91b1a15824e51e846791c93a98682e745aabdfda70fffb054ebcd573e64e0c51e721678e69936e991c1bc71bdf75196e1810870eec179050a30cbcc0dc35490757230f6f9eb3b0debccc27e117c070c4fb01a7096baeb3a56d6f4140d97a72f2b2d624fdef92c81a063ca9480cb7a1ceaa7eaf8a57507f53b25ce85167213f87f1abb4a671f5d68acbc99df9b750b4c0a5025a8059c2617b62a5deface7d7a6a87214b150b9e48cbea231bd9c800fb96f3bc6036b033883eb9e41c00775bc1a597215db895bd5101238e866f2363d61a0e2f799c65fb3c889acce1959121453e668e93cbac71829244add1f46d3ee3f39549ded62bad7a10789bf073645d510887290b83790e6bc46f5832dc49de90ab1f19d1bb13fed8d582e5bfb51430197de72ed7133b7a5adeb561cf4b9a27bf028635d7569ba5266628f9bfcb7b253eb7572734b17d0d4cbc63e42c68853cfd8d25b0669615802f2d92f8c35a93eb2ff967267ae65f2be58be929de8dcbf3ae76390768fa59cc2a5884db01a58e435ee9c72e1933a3b805052fcb27ccc1d0d3e788a504979759472fbcda554eb91455e473f00f95265c4908555a8e892af0f31ce2a90e61cc96b6741d936deb569ff98b0594729a3a2b665931a39ace2a0dac24bfeca60e1ced52e12d0473927faa2d1021fd180c86908c0c5d28e9d8a8ed4e12341c61dfbe525ea623920d88d4d80b1ea728c540b86f744931d92a8558215d372496e0846cec06c410e86bdebcb9881d02acc24803272fd3bde274704fbbef95d9121a7f332aedd20d95a17b65ea1e22572c2db8c347b7b41757feed0d6612c89f8849c334d95a96d2f3cccf1c1ccf85a2ce21735e234b0d7d0c5d73a68619389398de5b68aec85e25c84c5943c719e0772087dfe8f9578abd49caac46c3f064635e639828f6584daef97fe422932226572bab44920f1775581f3a4fb78aa362918f256eca6a58ca5b06ef21c0299c9f258d3482a460d18177e1528165d7c577e90789b5a07af4eadcdf776ea34e87cf90820d217b16aec87c89c24988d413553350175808f8096be1d519a3b8d289084728ab7bdd063fc7a3485b51436e871fe07a5bd6cbf7aa39d19f3ae15a63a2edf72489b6377d0c7d0c2aca3a729d8a1c0f0575be285799fa97de0c4858ca7d835729192ca6a97426764b45858975bf484fc3cf7db7218bee001cba6d4fddca2f95b692f95f2a64d5fe79e802b9a98b19a9cee6da80287c61f6f4a1754f408bc691ac084931c4cac1b37a5fbfacf65281869759535bc138e678ad35c6b649a2613335fd6bce2ac8074043024599bdc438d6f12ff7c5a29f0c5c66df419edd480b81dc59d858a8ee0f57ce617bcce0da81d814f11f0cc05e98c0f599a5617ca59c572b4b84681575383f19a24c9aad05180f0a5da8a82d9d95f861d30ce9a4d7d8a71613f75706c3a9685e291a09b5ccd441fab2d666d9d8b4c4da0febd13b7be5b722d6cefad9779fb1e9acbbc4a347b3c702e08f6f55447fc24af8da49f5fcbe472f71361723f03005a9a21b4df8c2b939dcf05a50015bd7a3f10ce482ac3b32472b970abdc41300c71b040b79ee3a30b8ca75193687a76cdfb4fc49218ca72fd724dee15aa9a24bc78ad7a971933ce87f3735051bd10330452db784f83ff70bf103a0bd6e63659d210c370955a54c4acd3017fc98b0d3ae8c56b30267198f6797263ea6624cfa015c4f9d28e5032746d9383360cc509381ddcda8b462671d369480e529b8ef4f6e94cfe1a0486d4ae3a88712e9385d7e858089635137309fb7b726e51f180ab098c7c2bb2f676af6c2cbf401760d452f8fec0e30d890c7ced3206d70ffce8a05600a1f50fda35ad3400f8154e4eedbaa3c08bcdedc240d2c676720400cdfded54a85c0aac8fc0861183209084f733bafb5c5de75b6d002d79a572c3cabe5a88785bb44f94daaa07457b14c44c18e34132df572a898c0682a17372dc2be664bfdb0f19a090a91114abd9b895ff1d36e7b70a1717b20a09cdf582728362ddcafd703f6653b57755ad5b6985dd5639eb46c947c9151d5e97aab1cf720af2fc14d9d764adeae58f5c08065f21dd4cd4e6e49d3831426a938fa2231f4d00b57655a5669d0897cec95df0e8aa6ab65bfc78e7f49157b342bc2a4ba78f72f1c4f13945cbcce962989d0f1b3d0f2e1b4f4cc6e071975814f4b5a988d7077223a96da8a2bc20b6073750f6429711c50f59b4af36ed600f2cc9103c16d78909fed95234ca8d188a1ba4a702338b2a52e4548ad5645afa290a604528d10be872e551677a0b72c21372fc99330e310f4090dc7e092e707856db44730733257272913dfeffb698e154b32ba88fb94b5e0edfc5efa3511778aa3cb59a469a6c7c727c6d303d73c6a6d0dc91b0a29639da07ab6a29e10d4bf9ecf32f7644e6fde37230304ab2a229c5234d6392b9a4db2aae34dfbdbed5c9b89aac4a5df57805487255c8b30bb1fbee7dc0ab459b2608be48d832b4323d17fb0f4eddeac8acabbc3024fd6731b8ffe2619f258012ae73fa6b202def3546207bcbbe7a6c43589366570ea1b87860de604555d13a6ac9c4e34b82970060573930c6896403668aad01721fdd0b98e3fbdfe9cec3a2bdb0c3dc4ae525952b67349570fe7898558d11ed72c1441e85d594c5527883d675028222c3cd6c51b5426365e4b80a684fddd0e8721be41b5a0dad80063ad6f34c4d3416ffb0cc13b8bd045e99f5777258a5078132bdd62180b70b8d3c640756e923d838a741e0df9affc85b984ab88e39be0edf2f53b0da1e632a2fdb880d8d347b9da4c336d225acf973e1fab57df8da8beafc72129add80a7205985f120c1c4f1ef4a8cb4d9f95aa7ec666fabd91462a790262be3663e422731347eb58c2f29f5dad3c21e0b9e2d3a12d93cb2a50d19f2755b01e3d818f3473dcd38f404d70b875343e382fe1208619ee2c767ab97c34c94cb72b2f390afb9a98d85ca9d30d05b006e9bc90dc434e40ca5f855814e5899b50820f78b16ada83b6a8f1f80058b6d5e37ddd3a4bfe99e3786fc2742c2474273542534e0fc54e0bb63ac09a0396455fdb5e526922cf4163514d3a178eebee1734972921f092b592357021c88442107fa19d5cc15b61d473f29c3832a49d52bebfa7245353a5f58d77ba18b77724f02f076e5ccd3cc8a9adfdb0b20df44ba8165aa725c6707d4821838ef50849625be414b0b115ddea76b0fb2f640e055faad57064ee32727acaefe3986dae01a3fd5c16f0a3082542722a77e734f7e039bc48670729711d248a587a508cc6565b1707c97eb3b8ecebcc3cf3500a3f22be74603c87242a8e68ad5e6cb31af9029e61f6580ec83ec426521cec57b6f6d324155a8be15f5109ed64c6e0f45ba065370a0d11687e261d044ae14a5e8f74ebdc7be879d72478bad8bde488da57583a84440d08378f29b0b596729c4435ef2eafd47dfe347ba22d5e04d8c8a31aed7883076e168ccc28d0636a8ffecf9c40885a72037927246491f086b138ccb04f01c7095d4f49f61a3eb9d391c5faa304392c5b6401372bfa8a24fc6a089a8baf908951ab9c365e3caad80f5a5be0cbdb884f14d6877722b611b87389334af8a1476f2cab7b25e9ca2242bb113d77d82bcd604201c472452f9148663ffb34a8ead13cda98ea821557686185450dcb796987f6110cdb872faa6172ab401c51e3ff5bb46581534966d43e07733f47cc945f0ac86c536c062fb7bca7f867739e21cedb8f5a2e708143c4eb8ed8a2e04196e1b8feb4506975eb8205ef635e8faafbd5cef830bfff80ca43cc846730d35e35ad2a914e572e172c739e181ab9c6abec51c033f7bdbb7cc7cc0009c3539fe544260eed992190372c772ec3dec01ee71844407502e80fc93759d6d97f53ecd12108819886e60a972267edaa1309d1d38b38910f15b1c5e3875b80ee322d79c5fa44459012f9181722c4bff07da53f9f77e50154e64ac1d199eff8db4d8d0f950e043c65fcc7b15728fe8ad6d20a0dabd3798edce1a066081133cfed57837866dc3916c3c2856a7721e45c275522202d446f29b45f7423aee214c14f60f0c8bfede0bf24551a58372e639401c6df4679d21fca52eef24e0ddf380642f1cc3656f110e787a26ed5636a4e0fa52597315621a3c2539d37b2b68b9c146e5295c60da03d7a0b1f243726ad26730a058f87c2e9b93d1b3728cd2117ed8f5cac3fcfd31dea3f8463efdf7729244b691c7cc8d1e93497a5c07f90bdb36e997c16cb083517ad10ef272caa91157114583d30558bfbf9fd5f2c5b5bc033a0fd6ff752c822cbf929d1e5b9bf3662980da2a5c4b80f2dbb999514d03e63c992538c42da631c26c966e98f7372a727b1fe7104e5956bd653b6a4152895c5b46aef8faf7406ceddeceea786806ce05530fbfcb0f18f2e98897fd6200e819f865e910c11f7f6bf936b96b0d7f171972fe23d4951df0d1968940e988ef4c51d8608ff59c07362ac1d82e586dbae8817272901a5acb906a827ea5f205078c754b5c9c6b0c5d93fb8fa7e01f69d3fcf9627dd3e2e445db32ef5bb5dbd607821b2f866e53b8c119cb5097387729267f2422f2bf8c592291c7e87135d9e41c25a0c0196d517e4f171b25bbc6ba26f89328724abc2e7a9c091170b1f0ab9a305f1c2c856bfed7ef1dc684f57de4ac4f434472bdd745525bdebb0f7fbecbfcaa7083e28615a36a3f31148ccd1cda31665cd4728bf537638772fd8f6e8edf2fdc20c6c3c02caf166c0e62fa561b45067376924671cba255642cc06131d4030955361b89ebddcbb1d4250b5a5c51a72ccd1393723d4ec32b881441bff3fd975eb52e61e77d7ce841c0049ef703c9dcc2a827d972532ba66d64919779613e9879c8275cb6fbef29f1b90e59fc2785bccf87ebb8725fbae3af4f3b60dc232b122eb22f7fc1e2d841a4e988f947117ff1f766617d7232de233b76478070e344bf008f46a3c733c54c3b12f06130d184ba894e97f26deab123d42bbb6430fe0a115010d6a94fbe99d95db2263fc9f42f22b5236446729fc77f02d91e0850251d59fc204852efd264ca0e0dbcf0abb6922ca1b82bc27244915aeb3dd5eba656dcf54682d7ec2eac4d122ce32bb2630145e59a1457f35877fc9b2374419152f70d559a5f919f8ba58f8e459e3814eedd90028e615f682a059266cb90f49473b1957403d5c4b65663021412ea46e1d1ada060bbfd09bf724b2350e53cf2dd12bca43adb3e79868178d05721d2725bbc8e05339c31380372840ac8f1cd9d4446d8416d59e0ffcd98bee88cc79097294b48772b4b6aea236b38b6abba99837847a9bc9db5e4ef439c8a0a1c6267f3929379d7b71d939dca729a5e54233721c6c9a7057e00f391a3e0e84626e5079872f3571b8789e34af1722944260b6cde5447115bcf24ff60a7677303048326bd4ca93a0d78198eeb6172266fafc29ef7f462ff7d53a24faa11a231d723d8f67ba988b1d75953b958787270255a2b3cb50a6174df2e7f81480f37daed01d9f91852bcede8a4019b9c2872d086915221fc7b9e3a591b0291d876163a9160305faad828c236cfd90e17f36211c43368884207f97fe33cbbfea2f7578c87589951e7bb9cb316721ba7531653d54b3b8d5ebc95a5e70f41a1129d1084002f385cc24e5cb8bcbea13b46b8e1325ca722b12796d5ad86a3a438415a2964c239f43484829773c1962123fb725772517ddaec206967acd2c2548110c59ddebdbc220ab26e3f4d6f420bea037de1266af1da4b52da0e0f8857f239221f35e341a9bcb141e7c537501e3c693a110e1041d287ad2fd22fe5c71e8b033122f10890b8bb4c7b3345bb915e51ffb6f2e8560ab0b1ef0a552158feb3937049ae6cad4486d2d2ca2f1d010ab2f89cee28b50f45e438553f3fc3b097700dc749781a70212dfef686e489c7fefb8414db32c772d273940b64aea827cce32603af30e581c4513d05ae38443bcd289cd954234072be02f1184dd16b871f031053123ebd9465aed2a15a6e0c03986d12ee573008017921512b023c7f0fc266bf643970893c39e411a50ebf063c955c69386f728c72306e3027707246ef6cfbe283f7861786f58a9a494aaefca6a04d1a0f9f19c0727b718a92a73e8314575d760ad2e0891e98216725d341bccfe2330e7a0252b100d77d8c4f6755391ae5fdffc6ee47757271df036d9eb73b57dbf410103c820772991c4d43c94107c06973e32060dbe90699c66aced1df7e933a75691faab696723814eafce4796d5996816b427eff779afa686db04bc3146b11beb2306c48fe0cc29439f8cc8204fc193542501ffcd4d01036bf4e1c54c9cf45143dbf4b5d53725d8af727bd52663ac21c16a3cacf0afcc7d10671b6c8c0f15c0c2537d714017253f497e42ee3eb599dc663617c7f9b76e8a98ea9570299cb435f415023571a727ecfad5337949f4e411c988e337320e49491bd74500a42cc8ee219599624cb35fc0d6278dc51a789c073a3ffb1f6ecdaebca82af486ff792ea07a7ff50acd472c0b94f0c726e5832042baa2c7a0ec707ebc8d4fb7f1f0bdcfd0d88cb4ac21559e340231639f72a20b3e8159ad06f2b10352484053b5e5d3ad321393c9392fa7259751eb8078ab0849b61270cb5ecdd561d0db386d1362981516cab8305ff582ee39a6d22dbe5c0fae0c44bf3f2048307c17bd149fceef340b377e7be4d88c30afd23d1d95f5474c9f1afbeff1d0ac68b596a95cc545e895b28610f63cb461b72bc387cb0e592125c856bf525b49b367fa8c0f9ab150eda2963b9cdd4cb32be72b906f9b609ba3e07625df72a06d02e36805f7059cc1679c1789545f893da06728af3115f4a2ab6a9381440ed395b0ad7a04f874a8413020f03acf4bb98476c7207f5d267ccbfd35b0961d655ec64ddb4f7c31d7a18ba8ffa4b11b8c329148d3a019735492b98b94eab926492c05018cc67e8996e538b2cf6f82dd7ad30fc974da3566465c9c1ba7316aad69f74b0aea56e605ea2fa3a1678e2e59ba997fc5d07c3e115a1765d800cf1a953f088d6db301c78ead71434ea3b7dea4a4746bbc07206a3065aca5f3d1fadeddd1e7e1c77b88cb0124fafbd32f25562b2fa95a495518589ddd4e044e79cc8d8d4ac7f40f30e465b2545634a1db60d79a1b2f47ba3722cf1c04dcd28ad570d71e01b5780059841d76bbf687e5515794c4d52f3ee2219e3978c98e1103f15ce36c46e4a63ffab9aaf408ef00ffd69932bdb5283ec9303cb810d275eeb8ac4da46e9920ba198460676bb4de2a3aa997d4d6de3854b89728bd65eae717689fcff07d4555bb02025c5613d93203427ef6531004a2b723d1c83ee1eb72524a190068a621dc5d34b3ba86c5a6d1bfa8aabec76a2257db4f73b0eb6e71191bd227141fd61f0f55abe2a77e200efc576aa86cab4944560dbf072944253b5210df46256227191e6a151550731dc946d967bd41458748caaaed272f7aa9e6854ebe598b829ae3ec4197f01d606a3ba4ad7bacc4d876082feddaf50a336833f864ee20a35dd5172d842d9f830cf57db92806e8b16ca4b57a755000b01225146d4c73f6e8edea86888cde7802868931efb3899a75fb74d3a3b8b7672b6da864bfa9806dd2521309d39cb485861743fc1bfb28f8b7c77e588c88f4b5c59c03fea5d6b4d52e93b59ecc586a032c374500f821115bd279f5a17b152f603099674462191d8838d2a9749ea26be5efdae8fe8e2531880045ea1ca4d193d725942d0574dbae61010928b3d4c46529a193026ee7ab92cf566186acd1f42af722e7b049713c6572f87a0c6fae6247485a1d168e0ad6f2e264ee188e87086f02efa881d71b159d7f17750e9d2196d11229779ec6e63a61c4d94283c104e6a905e91fef0cd5ba64d76a993461488bb6132c9d3c0dfd8ae3b5573703290b782e915ca2381ffed25adb755a2deea4df095865b1c34699201972ac5266c3c384d5a72cfb0fb4271a45e01d10dcf77e2e015aeec50849f7fecf3af9dc57d7fc7df302f4955b8c230a9a98c1b8821efebe8f7c2f252e52889996f788d00bfe4ddb1b931af25ae0ba65654dd33e326542cac9b4613511bb6002fc471dd57085f678e47342a16d7d650eb260c673a41e54291ef0b6ae24340a6897c7d70f9efae705f6a72a0c5c62af5bb312a988d5509a64bdd4ddc943f825247a812601ddf2cc337db72e6f5579d52114dad473da364a2d1854f144f4fea8e45c738bf0e901ece11f07294999b2098461320d43a455f98f7fdb50a877dfeb376535ee3855cd248bbcd714a0e30c13c40c9d1a9323db6dc307162eabaf9967754b280a31e33c95de6037280ac620f731022e0d9b7b3af4dc8b7d674fdb7eeeb7a3a36d0ce9fbf5a9a426ddd614d3f6bee1cd4518672cd7c01f708da75fdf56d54f1a6709c5298f128a272ae190e0b0644e0410654d49e1b4fbe6c2460c12b5a1ef9cec730211871a4d5720cb8e9c72b91096cee9685bcd0c34b4c9e2695dcddc925e087cd446371aec056fca963ef52a460476c422f648a19eb9765391b8946ee9c347486745d8c07a77209433ca42605e396598e3c7f5b173a0852f26b3bebde16e82449934738a2c772f003318177fe822d1eb022be178a0ea70dc336151c1b0885bb9f2a29009fe0728d167d752dd56892408ce7e2e9ed8df2b7d8e70fde403b375d0d84cfdbf4d33965d479be0b0f9149f8ddddbd6678c7b0068d02ce073461e9a599906bf07cff2842f0d9d291b748a47fb383c531759e65f923d3d5b1303f264b45ad619c13677287781a45bda7342cc48136bcf3665d8cbd818050d5e42a1c210c2ae900dd95725daaa0b2388efceda53a97dd29cc22b603419b6a0d1179e4d61e97bb9a16ea72edea88b0a59e2f598b28369270d04918d90b3aafb8115a535b3028996aed5f374a80eee63726eefbd970c1bf08e73246ca059e02a8850efedc4764d131fd3872e1416b5450ed0f2461ae5c4fef66e1fbc069c5567f52c7e567defa403e3e0b722b33d4cb1e59850ac95e30e54bb5614372601464abc9a6aede0136cd85b75272c1717ecaea520715f0b5a27511e66e24bb47ab5c1c0a0df3002c278685c80b48e59f94d30f508ed3edbef11820ba253e03db27bfecc5e8e26d1a2d7d21c7737284926d97be1d70b6ba98d809ae1dea0164d55d03be87f28b355027845a6010723bd1d55ce9f448acad9a11b169074ed8914daffad679492216c2d258691781724d421bac9d270ca9b1f6bbcc0904f2e21f9dd1ee95ad94dfbab2b4e63e53ba30ef8d512980b64e5eb645d147b558a86f05bd36dbaaf66533960b683bd9b823622f3a65ac6d6b7d389b78e81a2db26577320f37e759b5d3e464719a0f390813180c86ceef8310df69f0ecd86e61c2deda83b00643bf8805218701c559ff59b8715dd9351d000f352b393fe43b5789a45bb06c1cf6dfe4b3b722f29bddc2ca926b03780737b30cea026b80288d63ac4290794083bc2adc85562ed57dfbe6a08b7257fc7aa7018525c71e06e895e653f7182abe8ccd9868330f43362939d02ef3241768cbb193f59be2bd55deb2f76a4bd7f9338f4d26bfe0c87cef4c6e02113363cc4c7d44aec9f9a4ad0f748db86a93fc043e9ea87e42f3bdaaae12066d8aab721f973cf7c831bcd42023a56ed8abca2dceccfefeb502fb049fbe15c816fe5c726169cf70c80f46776d86600e4aaf1eb48d82757885d20ffd6fdd46808f76de4f985382adeded768f4bdd07304d3461bb9ff9d9b42cbca0cdca6dace4ac475c0379470a9ce59b9020f1103989ca34259bf72dc648eddf01e22cfcc000b1d5a6228cba51519edc2b1d7e05059a9787119eaf40c97d74ab7d60fa63d75b9f4c8d0ba6fb8152c80b698382a29007cf1c0e75efb70b4040879a920b3f1284cd9c392f9932b68bb9e3f2a71625d03943fdc8c278699ec2c4bac03fd2dddbbb8aa61b725958d9f57fa64270197c5653f47428fd52656323566756e172960f7b2acda87240731df471fa15b83b894f8b88ab8dbfc0d09f4b05c6e5e377f65ba4903bc072843375f93c35ec98a8c7c8a901e62e9bb08a237428070919d0899cbba5cf455c4ff3a39fe8d48bb64221f8107a42e4250c650e3aa7f76d0a706d406a9de415727faf05539d7f7ba860e0b929b752973c29053888193fbd829bf165c753435c7246ae8585b6da6c4334f38608d41ca8654afece11caf9dd063fc7319ea5d47c7215d1e4db49d7bfdd93725ddd089c97aab4f690dda4fe666fde8bed370056c57285917af79caa998021f93fb4fc385983177fb13292b97a263eb108b9d0493a25271e5183a81ae25297a267cd426928754a2f69d2da8a36bef842773b978b99260f4b8d8018484e95b63825799e416ae87217e08fdf296aff96ba0de9eccb6f72e4abccd093595694f7000e2b517b157f3a0d4d98cfa84166957cde309ebaf87266afac050ed490d141379a1c2c0bec61451b799ecf875d749d0fa5f5ba178872a179ff7763156af531053795702ac2d4b01ef5ae7990ce157d132a78e377e9187059d5b0d58d3789aa1067bcf74743075c1b47bc47b981f5d8c58047c984b90b32c7ac25ee445fb6cbdc8830178e962d12d3524d398ef4780a9f759440635b57e6e95c663f9585ed1ae37998ea0ec0fc4a1708641dce7098dc7a1d42196ac7727d02d86b3f8127349d3fc470d782bffb62d1f0e426b11d810855af1479a1e104dde3bcc38c10ca9377f44543e8df2caff0c5980083a83a9499d5ef6c89fd350715397b157bfc36b83e01455794e3401a7a895cfecf3512d77d3f8e5178c1d8723112d5bc0f516d371db647db82e2c0d25f661fe21ca17eb442cc65719fe1bb1aaa008ac8f61777ebb1f8a441a6b217bc0bbce419fb9f4de46e74b9e10d3bd50ed35bde3f610b8a708963ca9241b702f265006a77a04120d14f2d68d76f4fe0720d5676d6dad39d8336c450e04c1ee8717b7f3907c0bb58d4a6f84bd79597a9722fcd3c17f6132b4d96dee424e1daa230ece74bae466970b055d96df49b775272b2c2bb9f36c44849554f18922d7e32387dc29e929a1ab7b04b8aa658551c7272832ed1465faa974fa47fee464a6439c1c3896f63e98ffa89fd031848365481721b2c546c5e0906f24101f639c649a88de40dbd0da3a3e3a65e49bce281b05153961aff413cbfd28fce9ca410f1439e5d6ad141038f6d4c15c9a9a4baaa8e0972502d83dd921b3a6d3b84979e3a6aa8fd205887c7570d18ee6802eb452709f41ce798a71265eba5817f983ca0b4556d1445ed5ca5ba472296ef14cb58fe9d0722fbe67519f61edf190350abf184a15cf11f1561e8689d503f1c5f9e3f0bc10972ecdaaf2e9057b2f0f8b6e61d5aa40095d8fc0cb60ef13ca3aaeef844f228d54ab143046ad59f6a66fa6a5fa57509a4a05e7b4928d84507ae6ecc27d6fb6ebd4632d35ff5a7ef43d53ad7096da8dc1da96bdd94e056577d131a825055abf64e724041ebbc34a84e8345580f70057d17747c0ebf4205f76367a3263de2de604c61a659c72662211cffc5a0bfc693f5322466f3dfaadf2f09650b1a77705e083a72fde415c3689b3ec82afa1d757222e8627a077d070b9b3db8647759bbb2918b160c9e058bb57863bb6debb1ca260dcc22bf822b7dd708aa13fa70635501f7750c0fc2cf618b4fe7afe64ede551c7dc0d74b9c1a34b0e5a06bec4935b9a15b25723d5f7b681337cc15873724540d52244f41dcad676592493cf292647455466a5de1d90f40afd2a583dd841f039552d1c65f7473f04f3e59491b25342808911872f9fc0aad626c53569c4efc93e88a0ca4eda9ce4887e9334ebd65e24317cfa77225fc0e7038bc06d3bbfb1f4cb670c3de7d57c62578bdd8e56efce88ae3b90872b0c02ce4a0914e3f9386d86874fa9f0ba101bcb925605acb1c22011d6025ac72885da4d31712530433cd6f88c69b5284f4d6f59c936a8cbfeb55a5d2fd73b817af76b22bc50eba6f05e4dc8469f24ae780300716a963bffcc16b44ec001d447202166c3cac24095af91ab0caebde97cabe103cf206d14ecdc2104a519dfeb22181330539cf17301f54ffeb7a420e6affbef817fa017d20cb0cf35bf90faf694a547131d6f9e644c275bf0abc3574a32845558abb3c89ea45fdded08ab23b76725ba0d36eb5b8ae2a3ab0cc0a07ac4c2ccd74779798b19061fa51180ef44ef472492a6791cb7620e80ade4b6d10503f87ba2642b0ce5bd453a45b586d9506c3727529fe514028b30ab2e5e17e2d4aec0e33d8009c74995fff8baf540138881f72d37fbcf5611fc0389fce11e1bcd3f1885ff5280a11508e4fa47a993d3706067264ca3482b02c8692cf98acc8821051677a668818d5be7a2888dd7196630a095d30de324390e554a1db5141235e55bbfb5751fddf70a8fae23d758117f71a35728774cd26093927199dcc9ae2e5ca12dca96d81764ad3f3cc7493239ed927ae72f515a3fc0938cc3c2682133e58aae3ab38f0bdb50f9eb2d7605d304776f53e72c5f3ad63c27d38acc03c452141acc363c17cfe7290da9fc3baba62b2cf301d6dcfc4626014ae8f5e30694f604412faeba685f19a44b7db4c036c3c6c0540be7200a02ce0d34154fb1a5ae890b2bc2d5b6cddbacfa47a4898c35bb1920bc57b72eee32c48e68673fa54d93c5d22bb85a1a4e957601b8ecdd35b0427d2311706039d910344561b615406e7c790d4f50e37d95c0e15fce5e484861114fa88abc62e446cfb6d682a6ba236e30972f3aa8c76d39da31ed6a24a60d3244e3d3476224580c9fa86f7a9adc2f237785ffe656a74a791b45c486d833695d68eb45dd80a7254b22996aee8bc1d6cde15142d925b3ca1a36d8f48034505f8ea88c38963eb72debeae0f7644044484b7187e38dc0366d15d1badfcaa75febe6603620db6487261375de9000951632fe62e52fee48215f960128db6b7fcaa6c06e4b080d2ec72d1eb4e69d012f0feb858dc72a9ca0c208973c655c63c7cce9f97012c4a0c0a7205367779e959305a653262d5d375a7b13226f0b22df8da5cc00795a40a01cf72f7d1632be1a5ee101b7e7ed7abd22655c8d00b49457c6e18d30f4425efa7e9725a6bf4becf0e4fb4580fa7f33bb63d7513ba7ce013c6f8773459e164b98d0463ce18c168e1381d8a75ddf4b78d6cf334c620b61be353dcd23343a03cf50750720ba77c380ec4c9d1e99f80642c244f75bb28e9f12e0b154aca0c8041198d873b6b759cd3f0b00d14de5633def16da25d09eb25bd1ab79f8ada2b9be4f3e0fb72a1b7c23b78000f3301d91b5def969e849963bf9888c56a50f5f4df62bc73cc723e6254c90302d17f4e8bf8afde70698ea75449bb6ee6e3488982d219d6974a666ce77dafcb7a1ae0a50bba46e09de37c9f00bce24835e92a026a9a46cdee2c724eba973c407ae9b4b9aaa0c9ecb7d9fe694b1399d48e397781dc8b06d6b78172522f3d00e4a3a33be11c6746de23c7cf7e5c8bcf4381d5ac8ff2643eeca6487281d876b61c01f314c375af87b83e6db54ac6e7d7ded504af8debf62bf575f76511e13377009a6cca6a642bbda096f1ce4cda5117361426b13a77c745027a78202a77daf65cf82cbb1938b0d2abddbd9dc2db6dc133c4b9c966da1e103cb101236cb0a086ad499f0eca9a944acecd8dbb620e4cb5379bc23761c67293193e02720744cbab1bfeb91de044c82912045efe92f3858515c74d7c1df08f457e9d4c72b40969b231c62d4f1a7ba97af160e3e9cad772f9f1297ae15e2388f559cdd926fb26149a0546b3555f9e31d174184fe47e60a5d1e9adc9e81ab3910c2cd7b8727330f94ad99583d06e63f0d7e9a2cb5b9b7d1420950b78216230992e9d261472ef5c73a8c61822c87a59d78b6f1df6899fdc95933a94b5ed5fedd3a45a33e372f7eeffb10a077f24f29f16d6e2a7eafd865618e104f3fa310c980969464f8a6610c7de9f7c54da10f939fd9eebfba6b6578531b3654f86690055548beebfe7721f951cb335bf496b437ddfe3ba1fedc95dda90c9b2885b22bfaef60e08b10c72ee7e179d8bf1777637eaf0fb1bdb462919cc7221656d44c8ae696378ef15cf7237a0201b585b1943cce1ad04e4991f832fe7bc2c5ca6f0fe0ab5813ef99b7f722761f4a4979d1d778d66c1de075a3fa6a3de771b714e6f9fb8dd862e4e68d672cd8d75e7a3e419e7cd0c6b4893b939feb5d48f95f8e69eb0a5cb4b38cead5b2a59cc0bd9bbd93ef1f60bde61c3a7565d727f34c0fbcbacca72986809008b795116175cc95fe483c8b39de763a66ee517d155faad2aa6129bf9e2aa7a9456e2729936a07e52c53a7a3688aa7bad1944e41ba23da32e6d68037d75cf80a45124728cfe5e8716200cabfb3c67945b32e6ab802ea5213ef8c8d29763de59f27cde253396eb85834c0ac6d7b729f51e9fb5fa0731670f83f71d6988937fa10940f272f27ba35406d40103473977c44dcaac323af7129f3decf32c9e56a24766580c08b6de7967ebde1b2d9aec2d2f1ca27949f89d39b13dcdf0437dcd313fe7bd4663b4b88a82334ed279d7ad5ed89a2bb9354c02f3524f5f90d7cfe7aae569e1d661acdcd74fdc749831e6b089f1502465d9228b195ad02816310db4fafed4f2f3721706ce21f614379a2362027da2528f0c6274837189bcd261584d6c03fc496c6a8e0d2d2777486550496a1d1547cc7bc6001e24c346041331c899e29214f88872f3a420f40d13f21d71fa3926d19b14870524afed4381bcf67ad048e4028a4b7226d0e833ebd884d410c18a1111d72933fe33a628c1aebf3d593cbbca7108d33d2ab5d1ad718dccb92528ca240bf86b5b0f094fa5c956356b4d56b6f8dd4ec747ff85841cbbb080547db92faf1adbdb0907fa65c2e7c6c30b57c9ab8f7b09677037051387b17c6caebf25f27b58ed19f8818e99965adfc975fb0fa14c1583a643c5adea20df03f06f741e7f19f08dcf7811b11f8bfa947ccc4fd0c3987ce4ce72c526604a0defe4e0ba4eaa57c5b6ee0b9a889ba66265d20ce4abe9062d1a65726be4c7b631196a2db343bc14b8d3364054b93281bca8bd3c3dd29b1a8db9b1064ba57aac56550b81b015e20cefac545b92f3e473e7571a7356309bb75fc2974f62bf79e5169fcd82aec25fe862035e244dbc74f330408d9471a4aea8b6333972f49df54c2108951b761fc8f81bd6a18c6e076e1a45d9446c8ee9a37367e4de72ef70e12ae922bea4d3464e5b464b9326eff530316f0d12730361e275982954399e3ab2e13f211aeefd04379b68d3806fad62fc527eba1ff6527c74e4fd18db4e00dbec2548f7cb4d736e98b76d48c2c9cc325df55b8dc9968e476f080f362e72886edaf606d21c4587c69ba11db770d9127a8f0302e6f95c9d97922dbd43377249ede682bf8f1e38dd2f1eb35daa29ceedecec72d3a3cb4e651c69090482085252c240500dec31eb627edadee076aed3cb50a135b7d22a8b58cd43f1ac99a672b98b834cad6051dafd1c8ffb2003636d21e8dc64b50cc2ea7a76041c0feb557294bf2042e909855b4f74750bcc98c3bcccb232cdc16d4816d82217f561239d0ebebe3e278fc918660da15745bc04c5ac354688d3635c2dd74311789cdb25984bc9e99a57e590c555fbbc56acf5202d9acc42b4eca9de53289a9559f85571b53d0bce7f0da63269a5ade91fbc965f97d5edcee085251beaa301f3da07b2cc070e7a03d6fb3903b36d4de720df7eb570b6030082ad68a4473a5fd38be9215533727040b2c0b644aa09cbd5f1fe751cc9852ad4c667d2644e53a7953f4052b7fe72585e1bb01cf41221d9648db5e81fee886d880e267b55d660efe65c6ff0bb210d2af8278d43ce63ec4fe828d0ecbeda48c252335649a2a3495e89c9fa017cf17231f8845b2e0b4510f7c608da2e483186b24374b8ed51d31c59e993b1ba6a7172e9446080b699c8fdaa5b57223ddebec7c806dffa9b0074cbe7efd831bd1ddb0ff0acf1a7caedd9ec68cef0895939ec4093c53752b23debd1c27a486140f45c72078d5a1ac0096cf80e33893d93173a31410dae309bab8d89eeb269d316d30d70d577a16c1f34a5e6e247d9736a06b46ea7f89f692ab3e8d581e7b1a0017dd465289f653ea930666a4908380b97b1d8907bd961050e9c12db7bd89dcfe825343082f888711d6ce82b38db66d9c1d7b52c9ffa55cd1e5c23a8fa92caa2fc33191468ff3773f5e56383b96fea593f5c571be2fec4391b644f3347687fbc7c13760268efcca9b53de8a4fec7c718af87879822866ce0c25966e535cca6ec57240061554b5cdb04ad7673269acd082e3cb42f5eb423af2292889def8ca90ee51eeb7247a253cbed81a20a12882f31a01b1a814e25bcde1f509de887f5577621cca5728bf4273746528aa32e47171f84d774df2ae1a981f2155ca624a3cf0a50913f056b7cb2f2a382e241398574deb5da083995a0c0a44f90b2ee4ea25e17e500f83d3743aa078164c8e7fdf7947451798191293796f77afeaebffbeeaead9c81d03d37e91e72534741146d4bf8be769df2142aa7997573abd67d37f77cb3a935302154a9198bc2efd923582f07e1c9c634c11b6a601f75f4cb9a50d5df767a84f944e3c21f21f5234ac53cf6a14cfeac7e46b1dadce034ebec6679e0634f52a3f55c2d577e050a8735d169213e3468cbec76ee2a435900c6232631598d8d9a441d3b2542faece96dcce5d0a2ccb03422fa2c5af4a7f67a050f3fcb9a1d7488d8e2612d348856aa0e3ceb06bd4d35af798eb6911637f279ff0e20758bbe4cce3f4f724db59c937fdeb0719486c938ed6511c472d27d53b27f6cd30c66f5f386fa4f7255990aeca498ed31f21f83442f07617a67aa4d8220e54d505c58d9fa0006d172e66a007338b7e668c9b78a40d4ac8c185d4bcab1933c9af41e415b47243cab72414cf001bbe3d63761b7e7626d758f27dde2acafc16fd506689fd4d6fc44147272eb00e91e271fc84b796726fe7bb8cc954c24da56be22de82fa3a0e8632d5724ea3d00d38a7ba49470f788c9b9c4a64de33164948d6376ef19e6fdaecbe4b698d66a005e11aa41d9c33cb945b9e45a84bf6e03db5bfaa7a13fab46fac52b302552866b6fcd89122858500b04f354d5ce5225575b0253394298d51621dcfc772fd04f07897535d98ba5e2bc4dda5f50244355fa2960d3c0f0db6c3533f0fbc728f5f718ec89539dd16d9218751d5826e86880daf44b016b31d7c6173479b767215a936301bee24db90aeaa2c7c8440d8ae394e2f9fc0d30e89b12f6cd482e272496ca48dbba94e010d5509cf08fb461d8334be246599bbf3945f3b8e76ccfd6896ca92711da145d1bc7fab8cbb43f6894c44b17d19098934166e50deabfebf722add78422226c79a1b44c934f4086f90532e9edd098ac7c4b29f33f5731d97729fce1a1232a9f0ac660b24706810f72e8a25ea09b30e0cabb4348e02565741724e5dcc56fef6bcf29ada458df597623523027403603449f8a2463330f0eb8b22005730641cad200146c33ebd7ea1bb5254360675bbc2edc01ae977ee141d14027f41d49abdcb993bcf15efb847a368d660924a70fd4777397a21b8823a22e11da7940aad657c969d55eb0dad6c55b93f588adbc450e779178874f7c61b92597222e4f14a14179bb0510554bcd86ab399568a90aeebb61cd99d0e6627417c8343570d20fee2e5718df460cea774d5987b74e1e8111b5e944f2a3f583be97a090d269345453f49a909ebd123450a9cf16487248d8efaa520433c7a56746cb8fa72594c6c4f444115255b3aa9d41f8ea974c714634884aaf829ba4038c8ed2f3d724b7251fe7b8e610034d7efa421fe0d63acff2a31185c79e064e7e85d79944372976901fda69aa44cca76f5ed0534b14b17952c67525ed9df9ba4b200adc8192e95ce2b3cc083533f81eb3da5d17711fa3cec85c44fdee5375dedb4ba2faf7543ac8ca83bab9e93b106821742664a417f51eb754979ec5ce70a50c6b9c8b80172b24932620656fea87ca331cb5841f43c1b568fadca708df32b4047fe6c1bd972cac8b6cacdf4d493839ae9c8e79fc23dfe63eef93872ee3f421967a2d372fc708ea3a6750fb24f80a6bf5c07a678757aa15ff48adaec1d287270c3ec0fa73a32ba0e6f643376d8fc3b2114b3db3a0d7dc0bf25fc7bd4b41b99e54f6c12cf7b35979a5c4abe038b9bee2d35d469227982e73f074dfb8e85a89d5ff1d72660962c3a6ca252acc6272087fdd57ac3e7328832c16bc7516724f36aba7a0a6a0db872a8e978b7f3d4d87e07f763c22961c85de8a556c8cfb670fe9569c021e2682d3a12b93a147c074aad070e234e1b4ac40cd96a5bb76edfd4cbb8afef8fa466d3612b6e07de0e2ae640da2da25ab273d0d38eb9401e54144e1dbe9d61f3407d1529c50c7090489326c211898200f4edb9aa50f72b92678afcb82108bee3f51cd1726c4b74d8fc7e82d6af65e037eb4945e7501049d9c5c5f12d36e93d6c1f491972e053822d36fd4c3c1989b904f10ffe38140ae3d9c9037bc7e91fbc34fe92e772fc3a1f79504a164486ccf4b2d7aeafcb9ae6f3b2f71fbcc6858a89a99e600e724a02b7ff480839ce03294f15a2d15533036e3c4b21b8ae107c6cd8274d429272eb80cd74f0c9d557ede286caa41a589bb3f1a6e6418b296c0253adc2b143fc728078cbe7a3b0526ae6610ced6aefdbef44f3d7e1030cb58f72d7655d52c88c72705a44acfd1dfb4e680d852ec6aa8657ace280614c47e0f8d6f9f7a6e94857722387a5f12c10c24e5bd2eccb3be7fd49e82d851094f3c5205718bcac443384456b22b4d88701763e7b40cded1ab3377ffa8be9f99c329d8abf61883043f08855b4cccf09e3509aead46dc7feaaeaf3937de1a6ff4c0540dec90df1c577477672ee83b0070c717c4e1b81550b8fcb57e7a39ab5e3c9812b4f42bc731091929f7217e72330a7cc76f30cbbe3f1ba950f9e6ea168d96a44257b98bf8bb16ec74772250376e9863e88f7c4719becf96da2afdb7c5745086f5fe9b7989e65c4057e72917164944118e4861ec74d3e220ce18f7e51e67479db420d9ab96b1072882e71ee537cef171c76250a81ebc5992d258fc19459ec2ef984809556e141b23cb244adc1da9bbeb174dca4bfa7213779450cd7eba5cdfb41342be9f630b4596cef3ef822df93a0db9a11d753ccd87c8ee329001c9ec8cf97e5fa9e7a76de3442f50320aa1896faebdfe452f1eba0aa3e5dabcff52688a219539db49c3adce059d4726fd9f31c26d0f27f6b8408da0d8c21317cd13b02554d0a9800f9b6737aa2c272cda4fff2968a0850f0fbef99bf6ee9d8c4e9f86a160cc48d5ff93a9ad829a66245f8fb39c34a3ca636105b53a853ec275164d56a09bb06e6f427a45437dbd0727000840f75cc0419be8caa345e8b369b69eda9aea2ba7d952c91d4a697a0fb2ded57ecd93ba6708eb36c6633749f8cdcfe84be538f8a85f92eeebe28a003c652d6d50e3b522b954213d50e0e7e5f3ac55cd38a9338d40874cc10fbd4ec8cd772f2fbc05797866bee79fe1b8773d440e5b5624f625c280ff34c594a8d8d52a20151bc342c89dbcbba446310ae7ab9cb8bf46b4cd547ac6ce40e5ea4d316718672ece16b5f348cee2eaa953f43e8836bc8c45d6f39b66d7b6beef073fc51062f50ffc4dab9e595312848cbf90c559b0b5c10e8173aedf1f1e05c4d608216edbe72c18136406a135c7bdafdd7e6e62421aa99ba97b7b014c6914ea3832662808d570bebe0860682c75abb3459eb5aa8491d0d28fdc8a4d56ba2c9f8e35236de41261792f8ed3904b2e7d97731c0d02107c1d6b2010918e96aa7d2d479694ff23f17f294940fbf21f04f1665cfa6f7e3ab64b0413525afbebf486ee8ce5d0ce3d319ca86c96efe869b01a1bacaf6d302cd6fc2bc04503da14cbad308b8caac9bf913dc095fcee4e00c2bb4ff6fc38afcb078f474666cc220479351e9fe949f153a729401f7b9b23f11806037d99ddfe2f4cbc83593649e932a1c7ceee584cd7a7072b5e7cbe90ea5866638cc1aa85ae7cd451e37e751ff500e5893629e2726578e727e2cd441677e5aa00338675994a9c64881b9da4e8a31d68ecad95ca8233f33727a508549c2d687a38c50ff9f639d2057acac8d8e95a2f1a6b767ec41c2c766293a1e3b0d02773ab22892a8a0924209b412d1594536b3a769f888f95954309e6e355a82084990a26670c815dd4b429f314f0fcadfc3b3dee35a1a0d1165de8109dcb47dfd9c75ca3b3b75fdaaba746790ee1bc8ce01d9276ca70f936cb5b3bb09432cfb25b0f3480b229e0a16df23c1a5b2778e6d8cde968c61a7bc2634f5da72fb4d04e9ffcff6c33776d8c288488e297adad8601fb916953c2f42c88f128a727fb67a3a3a2d38329548b8258e87a9373c4fc8f06b87058e7b55697721db2a7292a743563232eea2e65f3c44c015913f2564a6599a5f44e59fc0668b58857572d5679e387c65414eb123a305c04d737d0446007f3922d34c9b67023bae475c72f690b1e640d4a0a84d0814c2fe16e255327740ef2899fcd17f4370e638413072fbb1900f6e4b04bf135d7b1ee4bd032641d05537e13b1b2a3976401204af85725c835e65344e74505185725b125b432e253bcebde21727bc1b534bab8e3dab4a3d2d9183d8a4a6500ed2609753c2778e19abf21c4e77f016a0618ce4d483320a839ee89520e6c782229ba4da0fdd00122385f55e94d27e3a5e5430e69fe5e3293169435f0bda8fe4c445e11e2b3273b24cd15a12dd6706daccd0093133c3067241d2152771056c01ff87507e3da9742723236a434ad91e584afc0279e876752110411dd9ea2276a10217a2f901fcb6ffffb9f2108d9e0cb38d6fde7a4251a672f8bcd326d44d965d83d2e3b4bb4620f5a59dd0bd4004811f6b084356ae8c98729c90f0a49420cb815fa86b16e7183a216218dad980c5caebc31ee83d29283f72b0e50ed9fe952a3e1f68140a59669907dd8e78bf859a9e7e04a6a087c9485172a6428c67038b63a7f979cd65117e2775500f4d2909a4586030d5fac087bc0272ccedd50c5d74ebd267abd0cf84a1bc72d3ef023b310d846d74c88220545d84723e598cd550b20a9e26d02353d35fcf2762ccaa7c081a7d17d5fc7262a7a29e71cdd5454541110b7724346da3c198509aa88b03db1d3031c51aa02127c462690b505770058cd8b89d54a9e4a113873c121c6fc15ef5a1735029bfe125fb736072c078abd712b6700a16f66aba2cbb67ee711281cf35821180cc35a21d7d3f737292abbd93dd85bdad41dd5743307c56a2ed77d2fbf58a5dc2bfef72159a11b47267cc7147ec079080ba9bf0291ce96e706b1628e54cef87b2b944b672c2c3e172418ab2b150f852950136596e2a767576f2a3c82b5fb3f7daa6029f70c6a1df7203067cb836847c102a76dcff3d30f9c93ed55c4126004e6eb06d8240852e5c1a36323d2efde90c4488f6edbfe0c15f9f0eb865bc8c466b4684fe3add7c8b396fac99b53897bd57584902dc46e0f3065e569563775dba55727ca8134f4c69b872495e25e62d5d7995f6c9f7ae305498c62f1183946b9fb7410eea985810be807299b56d914c30c2b25f37fa81950bdff9a240f600966fda62337e9d2312ad9c4f41ee4b0274c0c6137343332af71062be72383637549e5bd4a2556fe30bd78972e170177df585d6871dcc9c5fe98c92037fa48bf900950ac9348bf6c3065ba8727bdd50ba06439e2a35b5dbff0a33b978aae0518269fdfac094928fa478010365ef7ce49d629195faa64eb64ea82686a4050e959d1ed60818644f2ad90cf21e72a7821cc5c9f6283c6a7ea77519a9cbb9f694ce623cca55e7d31fa87bbd1c13724fa656881deabdbd8f0ce8bdd4786d048a71249600256c7d1c08b943a4ea8d72e7831982e6de480d7e847c577d1ca94caf583c27ddeb862d9ad16265e85f824c53f64883b5a189c7c3a07f35f0d6511e73fd8adc4d661cf614643086f3d67072cf3dc41204724a58d00556792e3f8ca505630ac1007eb77d8279207300d7b9723021634fc61c5154e43b91514d0a284961d0beb175b25278aa0170447d89ea726136a63bab66a8b6886df800d7895db9540d5bb6531a9833e709b0d438843747e977d5e2ca19c833d3a6cc56fff1335c4b67cf6e8ae26b00a3671d93957f0672542ebbcb36b5c316cd76c3218c9b9c3ff4689e8a75396f8d401686c2132ed072fd293102c7eb9abced31e315d2e415c91f2d1e11f8731046dc9c2b5755524672e5c454268ccee055b44ccd59235e7730a992f3cc0c39397c6db1c4e8782b7e720f97c3783b991cb8172479c833e9886b15576fdd78d1b6418882b333d3c9d9729948f212e7be98e710b7659fce1000c5801c02b83e22223a6505b7b4dfd9b672e8cadb23d274610045a00bc828063b76c33d11b3aeb4880c484dda25d2ec876e0d67311ec76e8049b66e566bf90a192793a6f9695e4579b63627b4e5fb94d74edca244fc76e84ea0e9898d6d59690e4105770c8607ac9664eb493fd475c15772253bab8e920ffa817671179799b667ec4716629efa67742b22df92dc65282d6ed7b2743c044b717d0b0fdc0625b3719188c62fa97be0472248d12e039d2a4c729585095c42422c933fad88898b8673aeffadf06ce3c44755463f58fa18149b728512b52d317744a7a2429e63caf864d1820c4fc37f282f0dc99c8128ac6f1f729d529ff902b014ea9c8ef9fcf5f19f71fbcd85a5dc85bd56c8b78c0d065e8838725bba6d90e65ad151c8725742ea5abcc645a66e294b2d0309ee10304999e753d77841274413e8795817bfdf81ffa1d5521bdec89202510835b2d98c77a1130236b5b5e3294cbdd44e4b050916fa8855378430c72abbefe32fe26b960423ea72e294a3cb7b490566299ffef4411c11d83af9a497e39c6f8caafbead4b4e2d572eea9d3228357d3af5538e1459fdf3173bb678b43718d92329006177bb4ddc2727786e853b7b353e6014217cee136cbf9bfaf589aab77dd2a220698f17c929e727a2dfdff13e326229bfa76e018f5b6769018ac18e9b3efe4110750735f5a4d27d442cab514a6e0a4e3a6a6c8ab2f7dadac5a3728bd7582a592af8c2166c10672797f18d969c4e440e2d924a0e8edd649c90940b75da56f4601b2038344fac900ec29264df894dd0358ec9dcb8e33e07027fb0dc0b0ab4aede65ef2fb7168db40e32cb8969b073d8b495e43062f7a84e65f699c57719aff4414825dcec1ee7e7281a158f61ec76e90d0c16083e9b5b2486078b774f6d0b5f1dac20ddd3fcf190dcf35fefc0c9b6f0705fe2dba613256e65809baafb786cee4d15da812b5f4ea0fcfeb48298b50c1a9a40fc8e49583cca6a573ba4610aef7765fec5c85a228ba2c4b7e131016163e81a666a534729c731bb9bbba1d884ba114f7d55b759a05be72b9f9d99bf3d6b98dc702b9ca29370212a60f21807058370902ddbc6a73b9284c4fdf35e8dd177355013e54d2071694a88abd1ae79eb886980a7bb0193e7e4335286b248f2bf247ad1b310e7b05e9f6bfacaf5b92e37e56d613bd450c065c724a6fd7aacaf7561e80ba100c6f40a13096fbb47053cbd1787497df213af868cf720244ca3a73c4d9e7f901b77713fbc9834cc8dee01322c56f3a237ab74d431d72eb25177416c8ae575521432ca983919fa3543b029bf8042fb575406b1c84a0720fded20c1859d014b27f91305a8052cc7343e4766ee027af6a60a24f4b203636bb6f70c440b1af0153636ff2608d1e131e29d45aed04b8547749d628b6e3270ecb75a7acb36b119ad07821e7fb565c0cef7933b619ed04ba46eb4634c24da272dc59617e3e3723f7419457197953117077fa6c99ef334e1d3325f87f55952a72f116ec641a719c572daa2b4f82c6ce6989170cbabc9ff865295d532dd2ac8e719992dfe45972337360b517867354202aab254ee534a5615e9898172c94349172c29142f61d9331efd01c6592f1d38534794ff03dda5fd42bc49a3ae38416de72897116a8c991abe531a3489aafd990c0724950966d69f948a9cee3c59772a872229252bfd60117b4d7d11d670db57ac9a52a16c2543d3c6d4cd341e309dcb37204cc28e4e2f4f2071d9c1a6af74d886c8c797795ad8cd1b355a0336ea4282b72da1f752d0bce2631dbb0b9dacfdfce6bf10b4844c965e7930ac91485e810ac72fedf4e837c5dbc6dc8e61fdc02405ad500c38de0a3b0d99d9b9043addd59a772d4c89ef48fab8bf8e47f0102d0ac8de2e7cfee3724b2095958fdd570107a18729a8d5bd27592dc69292e73905514b2d222431159c27cf0d01d5c38c1064a3b7267a11cdaf12f2c355d9c7bdda11e19978ad52d0722ca44a95f72cb27d5e42a728c1dda49135086f51156571d28fba5e3c5e7096db4df107d1d6773a89a5aa37278bfc1c3740a10a1bf1a6c84df7445b7c65e93b41a1592fd05abeb832abc9472c6f8a478e2c66cf0ed291807f0e83bfe1b2daff541ecbecb8f992689bac6327278b158de25324207e4775ba7a4ae64a871db1c46a887f79fe4b69634292c15728b0f75bbac33de751ee25ce7d4800c0516bce374aa4eec3db89e0e1c8dedd02a414f5540a6ff949694b26b95e483ff17dc3b9b66723d1721675cb72e5a1ed972797006944ee27f3b97e7f4f5674ffaf79645e2aef461a70b6dcc0e34eecf64726b82e4250da2da6e2d686f9ba687bf2c1cb414f5c8b9333d1a4487441c88fa3e0bd0e5cb0e199d0fb9a93db2803610f35d9e27e6a92e9747687db539133430722e89ab11da9c60e8c1dcca221fa27869d0383dfebaa484d9994acf795857fe4e8a50dfb0b4c393bca85d0d792d1d7c8a774d0af89cc69315348fd0a2f3dc0e0223438688e0c3f7d724751173af5912c402ac77ca81faaeab6f441f17a3c77b72f1a46ff95192ebb6bb00e33509b201a827b6834211aba27e08425f72c3fdde724bc268fbe019c404c6611569fbe203c110e98c9f623d6951272dadddfe435772d0574af5a1ae0e1da5db73c4816a28ac6d0c233d99f46053d97e2a4b1c3e76729f7694e7fce923453a4d8bfcba2c60d179c5b8de01ea4ce1f136744ba096b57261066f6db3ca41fb248826bd930210e8a4a1cab656c9f71e82feb4417e044c727066dad28f46c2b8201d7b227aa34d6649381eaa4769f8f0059f5739913ecb5b92841eea47697e1f4c3943d9fad0427f81dc576cf918959e31ec027d1eac4b7274eff819a186e39bde9c1489fb036ffcf6a429cdff0f574ebd2808dc8839e5726e81ca2f8922f5d596dd91b7f219b9f5d4fd147002735bde0935551c934f03726c31b12063d5169a64677307928536f171bcbfc042e9180c62cbb25b45457029a2f50b51b062778b9c67cdaf948f6dbec5385e6c79d81843b3508f9cd12ed172f4d6a1ad90e501b1cdf2e1ac22c3da5004c39b1b1c55762c188fd29df1f06b34a6939ad70bebbb1705f5bf5763311304e781ac8c10fdf558b71f995923c22772655b430fcdf5dacb037d688c8d673e1d22055075368bfb10fd60adc83cc59c0351fa32f451b6ed25eb7a9fa7ffee2b6861b0f409b7b04ed23f7e4d4ee1cba47208b0d1c2f9d7b4cc5f13cea07f29c9d4b528964d9719faa3b3c8ca662a0d787278b586666907e39a55f9924d693d94c118e6dfa5444af30f0a3a2c58dcfe78720871743d16401ace91428cc68f8cce260cadd682a79f3c99748646f3a68c405a88490ca48b19e906bb27b6ea3331dd83215b722d4b6def02cd6b2f673695f81e8dc366784ef6c3e995d93766e41a0c492a9277b362f419331b8d0ef15576547245fb171939820d55b15227db70c3887001243a14444938f3ab5ffc74711533724388cbab0a3af28a78aafb98a5139c023565bc2e97e6a166f9cac551ed22347224f53e491e79d0eac6c08b5854a95758b328fbc07fd45f59a594ec3f32c5700d5e3f6582e5b750d5d5c27f5274923dd0bff76c6ab4a8d6b6c7fabc45298b7949795c42e299d66bfe4d6e42bf59a8d4990e265e2b1e478dcdf9d59337ff261b5e961939f4a90bfc425ed4f6fb4ae388782cdd30754bb68448f41a29c9e8cd5443d85e1b56b51d0c5d3b42835e858d963517e4ed0abe00b7998bf16d6aa1d19258c18bcff69c0fae235849d5d830c45b8be1887172f2f41d229aec33f7e13725724ee64cae0d2b157c1d12bd93ed2721394883d423e4ff317a38c893934afdab7205e9def197c9193de33e67dd2115bb3107d2c75a6050dcc6db08c01305f32c722b70114c12b06a47fbe3a198d4c5ed9769560ba9e3fa0182cc970bb2e21229721d11652150b4697587fe3190a3ca3da3ce6ad66df836f1bc49023992702b7572d6d154de3fb8632b8a93d619719443c040a6d38e135204dbd0fa2182aed34259e31b7134f46147e47ee42ca412026ec31b7c3cac2bb2316c9fbeb65aca3cfe72c9c50249e0fbde05489dee8924acead4902175828bfbd1255af5ed75661e705ee07d775ea1b37304c6c71b002f8e27b421e525c9843c3fa4d3ccfcd94cf84309580d5ed0ad14146440ad14460c68d8c626fcda8e9a81930209a500d8eab2805744dbdf4e803556e502d4c529f7d06f7186f19ff6e5cf11f8443d6439442610725de4ba9f462a4887430eab0564fc25f33659ef1c279f42f2f040021b288f2d5b98c399ad4dada7f4b7efcbe313d8bc83aa45ab95b699114b04480155b7dc80720edd90eff3401facf7d88ccb5958a24946e80937d1c65df8f6769c6daea1bc19ebf9266d8b3c2af0ac00f02c717b50f7075368762cc43ae292cd34299cebfb724e8a6d8c110cb5d595f8e8285fdb898a95013f9549bd31f303151a96bcc76e34e09ecfe16cf067395ee51b9d5f6a1afb09512cbc4249b4bd360fb0d0c789b105dedba8278d19daf1c2c39d595457d115b96b3981d72c328c2411e6a0c329a7105320cc39ed9b5d9a0a7fde2020fb02cae55525043a649a88c513f6bc23d5207276cf17dd58fd379beb260336fda1c19628bdad7df9c6fa56c8fd7ad64e2c297230d1e76a36528c25752b67ab973ea97816951b046c5b8aeb9265b4ceb4f6c31032991ce3d64bc12d6dcf8e7c731b3566dd9e58a1afe91d87dcaa7092909eb70135a0f90a28b45b15c1554256ae2a534bf10f33782d91c2b2cedfed596154e54d02d8779a700bb40a8edb8801920461bf7abccb441187f384d15a36f31ada045e62c940b60d80e7aff16db4993e0f15e43fed21ef5ba88ea52aa5fa70a4325028c33dc6702c0371bd75432573b6d7c7b3c625eee4ddbda7b861f88e2f6fbe1b59849fece06e37c6ab50f8d6ffecce2394c225ce70d345b326302694de9ffe3f2490252ed8dedbd97d1c6e6d868fa1a4f30095fce3f509fd6b17a27758ff53f0640cd548bb42242a525e03b47aa2f8e659376b797ca6bcb5da71c2a54f8e214e22ae0b1d50bd2afc7f0163f150efd8a47a38216325abedcd01ebfbf7784c2ec472e86b3462b52e3240afdb7348a0c82d38ca37bd6ce7e07c9596daf938f64c3e0f22b7a25e59920eda4793017c2243bba6f6445a670e5587dd3680cf07a597a672e81868b226b930d5f16cfaf11ee6114234fae483159b9a5ca4c1498058d2542f74322128afc2688d1316ebd00299d34442a3dab297ab7fd6adbfc5b55f174c10aaddf508630c006a923f17d84cb43707cdba51288a452c40ce99b14ad0349c72fb474396136024685688b74b32176047e35961cf8ff481ce80a2d32e06528c7246f1a0cea8a06a61582af2d1fa451ac173e081decb925345b8a1763a4fd671722d5f31128e030f5b25fbaa4ee36a223338a21e2459831c4375d0b572d49d9b727abd463640c9e2bb08c4fab6d1011515c05691490f225b3728426ee228ceee023c3dc8d17e70175d60b56a927375133cc69c45fa9522c56dc5dae20b5b8fbc4bb79674ad23c07c681a5e110e1b90143dd0e7ed5f275c3dbe02b51cf3ae302c50ddb6bf8a446b328c6bed19a4dce9d1871ab854219fb6ad8fd206f14bf2b38c7279ce3dd9ee007802e8f56421b2062f8bba062dab27f221d982b44464e5357815a72d0e279b3123e98ca4dcab47c70c2fc5af54787c5c41341556f190ded7807215ec53d141b21502353f141f90c414705cd6f073f704264f1cd4eeffcdc5ef72239cda58bca7a5287ea0aa6be38f191a31910b2c034e909c53df6163650cef65aee250138ac318989ff74345042fb38f9b67e74fcb46d7e8d6b3906226e670508384af25d54d2cc40ed72239578cbba05499bf6f583b403375f4ca8fb58e70609da521ff4e9cf9b3d24b78f1144696facfa6723dd82f963a05a282aeb0e62872c8c7d001b966b0b0cf95949c38096d7c7d1b6b9dc31291963a0b234509e9a972c74a2e1cfa6b1c3dd09ea0a61ded1c9c3286110a5a569d7b2e636c0b5bbb4b41cce62b93aa67034e59443d570de8a5cc733aa5474a210b464c45156488a32972b96275bb7bc50abb1163827eae19b4ae16a3ab433446d05e20f6b21fe08dd372acdf74880adfe8e8745f4b46da16eb0964d81bbf55c5827d6ba9486b453c9d7293cf5dfdd61d0259912f72133e5099f9ad7cb95adae007c9432a6d328905f1726569823dcee5b9c2042f79370d08a3e120c020c2d8f4c03dc5b290c1a7f9cc722b8c379d798e6e8dda693b44ff74e4f4ffc533d530c4deffb3f4b5736a8b3b4a1cd1b469b45570a04aa97ecc44745c7a0f46ed8e8869ad9e4384804c4b6f306e8482b99076a5332c674c310ad4238c9f22afb95f741dfd0f98be7be0b8675472cdf411baf013d0a01990c61d2f350991740cfc4037312eb39ff112e8f423d07217e86267b3978b8bbb25660366089110a37e898410ceebc57fa0aa620e0c4972bf1ab5351f4c228cdfc210c94754b424f192807117ba435029a64ff6b910fc72e6e8eae1df9eaef7da77a4fb41dc9f1c7ccd7b27275e9b353844b6c73712041cc092883a02f7beebc45d7b635854265d8b002e7723f0f12e96cee77fedc4632f49c4fa3c7c1ed8c0a7df8fbf07720627e8a0f99fbe425b3bb0a961c89d722372f385a4027fe24286e4bfae31dbf91510c3138d036d291f5c40a861d1d1ee47320c6a208122c91e2d85e32da77597202131cb3c0c218c6ea7acfa2780d9947e5e758060eb4e6be3f496ad0b5fdf8d657a21caabeeb84743036fa8e6fe4e7a1f502d8618f64aa47327cc8b88bb598157a61a4791f6941e8c76a081a7a895165a727a32e70726731620d52d1e91fad0b27c541f7a434e4cffa783d4b78e063aca7285df8891b465232f396e7c55b74e5d650e2fef6bbc86a4eec2390dfeb95bf272b6a965fb4d49cc4c1ec0ca40429aa2917c2a02b926bb59eeb221311434c5a1484c05ce5f306d15118ef7c982885ecfa385a2a13c71e7d578f22c4675d5e79772931ef771096ef23e02860f8206ea52fed6fe26965a3db14339eb6d94e233d27254d7113630b676faf80b5af84fdd6ba45b14699d43aa8092e6539e6924a3aa727fc00158ee73b8a040aeae2cf8ebb7def934db8b48f88873d327baca6b53df49f0a1499f6706cbda08848ffb9d2639e802c5252cd4dd49bdbf80798ee802ab2626e5629eb2fd364604358b8d38f0983a04a0cf5011ef037e24e70c7dfd55217232e08daafbd7f9c7a06af9369f2c106a008ec86d71203be5059ec0d9373966699ec748678b9b768dc4eaa757a8f7f2f31fbbc828ddbd4044d6ff348347aa0942d1417400166fae45553872357b9b58e921eb268710597433a02280a5623dca7235dd49b9fe6ea0cd869918f66d4df93b3a94dbaac00abbef42d0d3a377fe047256ceafdd8ec67a77b6df79b70a934583c8f2d87c54f350931da18c29be38797298774d22f8c6d101546d00a70a9beb98e90dc0b19ac722ea3eae535f7c65731cbaccf7f11662421b49312c9858ed2ffcaff00ea2a4ceef20e88e6316c5d41851226d575f7a3cdc92c612d54df27007403bb3fe685e0d70afe2a09504033f06709b15c0bbf968065ad65351060223f10cca7384ba3da2896d012aa8ae799d166f4f1f0800d2b2445ef1a8a71cbc41575d39c22b8c635c706e7911498dccf6e6723383a8e610b6d4b5009ec4e7e59dce87816b7a15e98df6110977f32a81f633727369ea60521bd1d69fbc9a70dcbcc6a2b919b540407ec8fd48afa635f3e6c01409760f6d4cf5af8266b3c4c12c359bb2fd55fbe61229b24c6b498577410b93054e11c4c5f2a99ff482ec5d8d1164e9a832c709339272720f05e687bc00d3bf725381dbd43d89ad84856fef2426f6d87790713b90184a01f2be37107c6e94d830839d93ffa2aad6ad1b4c687eca21999652e44494a4f6c3757a55ed2b3f5d6e183d35d0f9833dfb22a7b9662236d6be698a1ee4656fa10d372e61210855a64d356e4bac48620fb14f1ccc08eee1dd65d00d2240ab4106bd9b49b73f340df61c7235738bb97d254cd4f149bad3c3aa5cff78abc40f6b8fbabf4eba329f929c2472c15e7cbbecb62ebbc86df636094966cfba48091cef923bfbc84e81b741a57f5294abb26bb1136a79e837ce963f86bbda24ffbe3879da804da9cff71a519cd6729e12b2b38c3f569b13a4ef052828df21d8ed3139c28d501e43b03bea6d5b227268721f8e598fbbcfe39428ea037dcc295eb4a63b74aeb28538488856742dd03ffc2280ddee80d1e57c0a605e36f3ca4866b3afd68be94584f668deb087a4b20de3769dcf9f2c0ef438d01b1e5451f5f239476bafcf56eb64534be204a0766b61180e1935e004b30803e92e76ac358d8c76fb3be28ea67fb39d1fef34886f0e7286e6564e276c4be58e796a9907dc57a6ab38cafcca951e0672b9b0388b7f45729dd6f1c687a24865bdd08fcef080f00f122278cae88d30b3391a28c6c3bf24720e2862008f87580c3f50aa9ebdb95501f5baeda74e7f1cdf6ef766fe94efa26d71296f3b912f54c82272868c8b28c99e3f23257908f90286fee581b6d82ca8143f1a7f608cd6874016155a68d4747a8071acfb4aeeae866755d60d8d065236722e931589a25c8680104886d0f3b6caaa732c0d12dd6e1c0aeb30cf2ce86f4e72ac836415b8df074cd33d472e6276826f645321c34aa6396772a550d7863b3c72d0785d0f2f7dc22d70d3973265886831896523a00ff4ca845adb73352ae01c2e155e5a1909f8c31e63f4bb10a3d48efe7671eac9807eb86e2f8cd1ba26bf90184594bcaf222bcba75e7dc4b9277d8d18de9131b9c9c6b926e7ca82bf5fc8a44337766f6aee9446a7479d42e6757896e0f9d31acea681044402aae95e71e3243174d1d0c5747a8fdff4c8a3419b0247d0fc5cf512389d9224ebd50dec30c9936f82d9fef66423120044e79ca6445d0cc7189fcbe0706dbc004809a86154ec8772eaede7f4777905744319a9a4b1adcc95b0486c998ab81d5797b9c3fddf1d5501f5a7c23432c7bd37f5da5ad63f91506db8a1b58fb9f9ed8294461bb8d23d3a185de435e21d3076a7aff13630f93dc188a78de6979a5bac32be31975898e1335f5bbc8a802da5a03f5e9a946e00fd5f556df6a48871202abd66152e21c557c9729d701573c178495fb09f76ba8f898f84dd2ea88dbd63d298a4395e749db7bc726665e6a2800f9223cf7f3ee6aa0e0cc800f0ffe6ebb4ecad0f98be04db242a6ec23ecaa6a1c24dbca7766aa700f6eaf3f2e49a5176c3bee0df8b0025074a946e62e776f3174fdb1e925da2c629ba422c5348fb83c5b69050dadbe9bc5181e4203bc685e5f84db52e234582e889642177fec2b830a909f96b0ece6a251f757872c6cb3789cd47cba07d93fa70e33ac976df55726c1acd98e52f92cfed21e33e721bfdd81d4458cce9fad25e56557c763889d16b74fb0bdb1f918431c453d09c55eea3fffef8d00cb57ad6de4da48d55acff9449f2249de3dacf0e1e9ebd6fd272a3f9ad17506adf58366ca76416a0f5f59cb98fa5d6559594b3795401971b7e72f3d7b46aba19e31a7c3da455f1d918a4b1d4ab79e0e2f5d74c8220b0f6d8b071439238495c58d79b237321a5bf9cc67f0c6b3e368d63b039897a7d9f9d001359dc32dfe314892b7051aedd0cd3982d0874674a4b297d8379b96c55bf292b8072328865177fce715890c27c7ad4bd0089eda711ef2e0ff9716cb8f50dc5502972ee52d67f5e481396f3c13bd95b206279706beee72de0e2f3c5034a7e10174f0d65852a45a8dc42219544a8b7886970469f20635081fc5fd403da275cca4ccc5afd03cd053283ed99c56b659faabd2b529158be4c34aaf205ace79e2c808de30ce3bae0e73be538defd1337b8fe492761e6389c118536a9f56b1ecaae0a8dcf122ac93304faccea11a776b94c9c72c324931d8c24024a162c535bf9dba051ab725416301276557c302d8c1e157dcd04e16db9e3ec7a9ada40c9fe1d307b3b477241991b57a6580642ea1f831d7e39226bea57e6757e2323d977b552fd6ed8597231b6ac6adb70509b0d42ec3cebbf11dd2594b28c143a7939647af901c3f00772a6b165fb6f40e722a9c924aa04aadd449aafb513dbb5b63141ce6041f18f8f72387d9e445edc72b7b929c8ded6430760006f291697bf1dd278737b8ecc03100936ede73ca9a5920cc4a692928293936d3181b985024dd01a90027365546f6e64923ffa5ab470f1980f874780712ada800199286d6c779f3ff0fa50d7afcefd7202f1b0e13dbccd15ae5a29b5b64f37a00b7a48af9778173badaa9a231c6a8172e85c79197d67dc72bede6958a5ff6a0683bc18fe013bbae2c91cad53da55ed721fdff9b5e591f3ef8a192aac440ff4a3f18d10a164c647fd86fecba88c66b9727821206b37d833ff599597d1cfb3239995a7b6f15ce7beafbeaa76935a4d4e39fa114de14c62f49654c73f03e004de6732ee53c0387581f0c8691e159687ee2c6e7000d5572e7dfbd39555fda1b36c7e4126cbf6f622f648f2b21d81dfae687282188445f75aa35037022067b02c15e4373116d2ee9b1c01ecc5ae4967e41d17d0386d5ff7a03aaa2cfbb571a0bf3eaafb59f547a22e5b87fad504c152d272584a5e2a51f28102cb05dbfc75cb2c5701e1854b26ec39e49174d1b87aa3f2fe647d897f7c34a69d04926361e601210c5a127fc72a16ddf0225737c7aab0add0429754cc750b29bb3f3dd1f99813cd590dbfb12501b1bf9f8e3c78b884f19e5b72952daf32c8be259c475687a2d55287f18dd844d3cd895b864f07aad5d06c5072d5c584c1e8f32949ebe8582fa19e16e2e58215f5a6c225c7cd6c14c779d8d6723177731bcf439b59c5d0a67559dea8ffa02600f8b0f2f3824f436a22252f186f84cf8e2550624b2f1d322701a69f18fbb4b081b08afe090841711a4245cfa572256f6e586ece22ed30a67792a848b349158d8fc7ebc07c56c302cb6f76c65f23bd8f488ac0f74e575fbca3a21c6e715316a11a87b9e449c432146b44b3ec652d5b09709abaee725eb7971a64b73edea605960ef0ee0ee8870990745c019d91147079e302740364147e5c8cdcf1aa85431d209cd77787c6d2d91c1e998c8bbd721f74a24ba278db4cebdb6877ea010bcb30be2e8d85ef1030d2ebab5957f177727955bbcc46be2cd33b7ccb46a21e6a2668f977332e653c5d81c88db7e6b95e725264b59825d4a4130b0f4d5012cbc30df24745b2af089f955ce2259fd7566026b6e5ae63ce3d53128da7d015143fcdb20f51e0011610d5c0f7650a136f389d60e5aaaa459cb59218d205d0128cc0c16e08fe7f48f383dfbfa5a857fd3bf23a72d9ec2c13375799f81b455d15cdb66c0068eeb30eef2d1d7d97f11ba5210f7e72f0640d5f27900f3d86a6c0afe207553bfbc480d9e84e04edbf1f8c9fed7025314577f000399d6df0ff4f92cd918711778a1c1f93f44543ffc1319fb4bb5b0f30f26c246bf0bff5f51d5bc8a37055afe320f89ad579cfb473f1ded348640fd67214850f7dc039fd6be9ac7ad462fbfb2544086c273821f0c774a6de682ec330724264ab41711729bad7f4794d78b8693d2ef59a1d96336af3d498e68358866613498f59debf88fa36ea470c88967a6bccc291957162e4883e0fe173449a5ba13cc67afb04c0f26bdc71e239f7d6f127bbfa6369ee1bb46fd9d3cf81da5b060272e9bed9b77d964715b8106a02b02979f30b9509a7cc9bc615242c97c711dea73000b727ad7f74ee453224d01ad2e3b41818a6eec957d8de3fce42c69b0e720e72d5dc16579bca120f63ead8e420902b5dea49dd399a767e2a6984debce3160f7260ca9bf1592343f22b10ee2a69268791339421ec63b610681ed976628f98aa72427160a41ca08d8fc75272a6e11eac086dadde9ec5c4a4ce602562b7b1cecd61b454da8327ebb31f71025fa9d00669baa4fabc5766badd9622f7b7ee21c88d722fa26effde9bbc4f087e15b9d298a6e00a029237547d9d4fb403b8b682ce3872d509dce235aa4ada4f16feaa3b7f81b66461f361a7291a9ca0b752a364266d723862fd87c0161b215c6966f4ec1698db7f71910d6f61c80ab475823f265eb2725bb0f2d6c4b1b65716eab23b44450549a72422a5e1119f2392ac55d2b9379372d48fa5ec91c15bf7db2ec3f4795cd967e9da1cbc40836cb7ab5995b9a4ec01727f644173791ae1832db66510ee1271e19f48d945ab9b5ea78322faf8c31a5372328020512087a4508b5ea46ba7558eb0d3ed12fef4ccfcdfefd8bacef6d7a272ad3eaf296d6144a9403ab8e084d87de704b04f999fea2bc051679e1b406d73728b87db6bac300c1968163a8f037dcbae4ba1f4d5ce277ada1c7dde75f863f11760888b20db37e774748c3b0db91dabb8244743abc80c59f41a93360444e1fc72fb799a538a298e7404726a75d6b390068a0ac3f7986d7a54145303acb19dc57239fcb664eee4f8100dbdd02ef3a15900213f5c2365e6183eedb94d5a633ed9728456abaa7a548190874d5fdd4756dd313145afabaa8872ce38daca50bd88067272bb7b0f997a641530d09b23452f5176a342f3284b4377316324291db17b4b7240f7336fc63249b7ef09e1d0f4bf9878857847c8821efdf594c8d2cc8b8c9c72d94184cfe24e6a91efa7a6adcc6494d0a5083502c1dcc57483d1966ef0846f49f6c54dea6252f1728333405b8ff4e0414285e1ec5d7b6ef5470b4ce7e7ef2312df53c033ddf8a6a5767c30d7fa865c7688b203445398a4e0eeced76b51198172f263f1ee104ad505517e7cc0c37505c254032b7ba83bbd7cebb6b9eb9ab25372885c2fd6e346d257b3953b0c314e3fe455a0783f97bffd18eb55e948343f431022e4178ae4d6a1b289780d50bea933c011f7aa36cf8aa1b0b355fee5ec258a72fef9c5ac300e18ad50384be443f25936c35b1208b0baabb87afea98227088c172a6c8b41bb5d0de247610a2e8da89b7f3659034a1486b64e38daac3beff26b72846e4c5f70ad19bceb65a543df8b46a647a13ec67ef71672cc216924d224913864c5941a554cb8c277ab38d45f014520fe79253cb97014e36de85a517beea20da3994851f904a17556b84fda88813b6bd3d6c50ae3deec69d3ed711a29d17e1dd38d9e12f7b6e2f0da3f1223dc5abe5b72e797f493aadab08fd244df121b4d65cc1e52ef88f3380d8d15deea66ba719419a02fe010cffc3e7d51a4bdc4c14f1967429dd0bc4e07bf6c94ef5762fc783d7b4d3f3eb73e5bcd57cf5d92657315725cfd9c48222164c8b57bcaeab7dd0a10bc0818e48e6abf3283844ba13f6aca72c73cedcbabe099923c7799680a073fd9b71c1840d576ab4c7cc2badd6327f23b5d651be195a37e4da1a1e215ce7d4af9c0354b2cc1692a756b615d71a448327278c47900952459dd606a0f88425d2e7d5b61ab1506f136f6b194f7d1d4e3c07218ff7e74f8a4a7a84bb1ddcdcd66fc084c8437f94c967cb953429f3627b79e1e164089d5ded8308300d0cfeb751ff17e3156897d39e2f9df59aed3c417b55526c42b5d94ea6bf02e4c29afa393ab9cae3df012d5be87794b3d5e7a0fd5603d4d05ebb9d865118d560ce0eb76950c7ae87dbe9fb3c5823c6c80a93ed524c8da72b6927660629d2b7945f55ef62e46e230148511f55e2518a3034bc8dbc0ab491079b3a09a533688347216d0b9391aa1e03cd3a90222739a36b04c6356299adc6c16d2971e7cead60ce2d1b3040bbadaa4a0f18e08102544ca8db8e4629a2d1b72d2ba0bcb505a69d91ed763f454c56b8eb448202e9a3a21c787731c84005ee0024128a7f0cfdcad852eb531ecedfa9cf34bca75ef614d034f7c489fed44e12e724e1cc305bc9b7265b58f717797e5b03521f3013584a78f0106f5a3af3937160cc36e9fe94afd77908258331b0c51b578cb4eac9444facb4e51bd18d2ce97de5763e5a7f3a3dd5503d36c7537e484bea6242e86941ffd6ad52127fc7afd88d4726356183382da27172132ba01574d80a8ac7b1cc79963255b0407d00c612c7e727fb154101f00067b630370f3d5486b29e469c3b82dce3c3cb430a9bce7d0f372c7c8c512e14a58cf14cf9ef347b5e6faf5ea6da8b33ec02a9813d9455c3ad2727349d19ffd0d6937cb6228a2624d7c134fc522460248981d1c0636b2fcece51c752b075f5a1a8b318b52da65423c1edf7b1f37ba5285ced045b7cefd8c6ca839578f2e7cb2ba3014dd3700474e625b4f89158e97c2d3efdf13d98031d9217672f55c612d75d51ccc6ffdb5759a65816a05aae6b48005996799f4568cfc1a7c72b9c61124c9ef759561308ab16b2721aaf6f120096801205818a038c209766f2d94d054fc7328cb5f756ccfeae446657062843a944526138ed47d8787f13d137263ade9f53974f4ff12f0f19a72758d66d58428fad7a7ae499df0d398191bb77292a47294138264cfb0656ce4b013b24aab3c793d4425861618b2a347e204b324518fccb56a3acf628895d53f4111064ac68d366f3af385ccf03e55c5c8f0481aea69fb5c51ee86af0750b52fb4978c2e1109f52c50e2f41f4a92e357dbaf1e72d61f73e95fbefdd49a7477131f2edc0916a61fd407c23e1d660376e1495fa772564a5bcad66c44eca4aa9c23244a69545f8683d56d8ca305b93cc9f8256b0f5bd69a172e087af2ef66ca8398474f96ad6524b81c4266ee294f9c310e5a457c72571779df9608ca2d1f2a3dacda960b4c98188f914cf420cff469cb726d71256ac334615b862fab6c9603f7b3691dc0fa98ec7bf7f74b000a659aca0448556c72460532b72824936e5f1b9d01a24eafd6b28b2ec15f46cb9e1953bdd92b71e247156f1d04b88af6f9bd88530e7f43a118c6e1e347be7e9a7595879906bf6faa20d8d149fd9dd5a82294ecf4d3f75d90ca3cdded619f1442bbcd753b705ef39d2b0ad010cedfdb0bd7ae969e5b6925fc50d9176422bf76b0391f2eb626d54aa27250b74d7371a975b62212c6f2a17215076585d8e312ab4983be3c67dc9be9b9722808ca76b5cf4ed42f343c0628d7fb88d0523d68c4c81ffb78abe1c53b139472c52979a983f4d1f8dc4969683fbc7f66d9c69ffb17e8806585a9e543edffa32a5ed1e4b346a465dde0379cbb9323df4a64f749e9c260ca850f3fb424e8bfe22178a797eb7575882988586078d181b37fee1ab3438fc7849be27b1045fe44cd72907685c4a6ffe8ece1e2dedc31b1424e3236b3bc1e4051c89396538064eb4e696a0370bd67c2f73ede995e919d2cd904e0527537e5ac683dc5b697c70723c672aa8c102f0872c10eb23cf3051daf50452427a32e828eab29fd9a3560ab8529128b09f8ee4802ad69380e187238f9467cd68a744f59c9c5f95acf544cd3e96646c43dd83cd4f3d7399834b5481f2297535019f91343f0f395cb05ad09a311637254e275b34fdd8ed52a19773a48ce6a67e45a7e9ddc37bed60c28973e7379c63bdcd705c7eeeb58174fdd26088642c171ba0c27251ad0ca3054232898227cd27206f1e3a74652c0c85566201be9630704524b2868895da27693506b9b15c0550bb4889de5fdd2684ebb5d7d6f0eab8e14b49fd46371fe49bc3516ecbbf4a21e72dfdb9acea9921b11ed0c1b7c7219af132b7eecd291df78e6cacd9141fb234f72876a96b0cb94e0e2b2204474f1d719a30852662365dde0b5cadd3bbfd52610721cee96a76be1415529c7c7761d695dc52114a3c95579df1d0ad21c59f07a114bd83014721cba4464ae55f0a56d12234f1b979c5d5d1555d67ac07d40c4681d72942ffb2821a28af177301c9302cdd92433305e02a5fe9a19d776cd9dc4b8cd72eb9161442ea3bef696df6499cd06aeff982549f69c6adf984b7694f8eac30972e929d9b1cc4ccc196020ac203ed7a4ff27a7973ef8f8ab88dc9eb898638c56598a67143401031e3e9a4ba4105b27a43f55c1ac5d07dd2c8be6033a15fb277a65ba0113253ff8a8535e1b72e21fafde43815bf76bbe7196871693b1443d1efe7246b89c78a0d227d398ec79bb3ad77b8a187eb0f1a501a5997520b5635c3ada38378a414d48c848d5d604d435ac331e3ed4c2a01d08935601883c5eb5b83b8272bc84111259de84f3710a3ce674451eff686110c67b16fe5a6ed2a7391f73f3720ee12e37acdfa628154328de0858515a7a808c54e235058ebb57cd417c490d72338231910fc194079846e6d9adba1aed281855b6b299a5f88da662db0d9435725dfe93407e115fe5a048d179b1704485b839e6aa0b189a312422d89b3a94f02a0c4d734cd3f7151f3919ba4f4e6442a3b37ac829cf186fa59a5a6309655c3e164846b9ddae53007857f5ddc34c32d9351164ab08dd2bd883cc9cc88d6bf32f721d54f3e78f67d9448cf9005ed5fcd09ffd2ccb2c4aff523c8c5b9510f7936a72c76b1f9223c1729edf839eeb563b0d42dfb82ac4e9d42f46cd99d4b13eb38672adecc306be10942a6482c8249783f2bd96905bd2d2dcfdafbb066cf97d6a017256f0aaeb102617898af9dc29fdb794554a494f7f7d5efea208abdd7aef910d720f01d841c5f7d2f1e6b169a0d75f77c7b0b2cc2fdfccf3e30833dc6d43d4ee307a91bc2bf28248943565e81dbefda82098938afd38d9ac0f553f08ad2f221a72b20ec33ca67c7698c1860a9ed3771d4e164bdc6609c20f76238997464d456704831feea29dcc4880453ba718da96893fe39f7ce514276d2cf7d785fbafb0df72df95ed4bbeabd67c3e3610b6439e02342494ba875759a06a2b0f2bdb6b013972727353cc7fa4eb3dc2af8271e60585fcee32ac59e72d1257d59e945a12878b722602c291fa15c77747fe8f7777244f520dba56e0b01efbf1020e3127025f47727d460162904bdf9cb9af743f3ce62bd6e748ed995062f00b0f6ba65b2384b0720d0620970967f1a0bfc4684f9d119d455e9bd1e5f16d1de57a32c2c9d5460634501c4ac9d0b2f2976966b0f1b7ee9c755c7188d5e5e6779891854e290b37f3728d7680af4f92aaef8ab6aecab7de0b71efe4401251c7c9f3d41545caa5d97f70eeae269b9263e90dbffc9908c24d0821dc12ef9821dc0c6c8a9ec95967ac277238f67ad061fb677358fa0791e3e58cc3ae181009e5da54be3cedb9ebb965a6054fb3813cff486596f2f7a1049834a438017876fce81bb5d99409a2b33c873672ef230b1c241ee399a1929c6356743895983691b1d02df6b586a3882f654fd322d9d40a53147036078b04eda3d448ed3c4aee1af0202e2cbe10db25a3f7b59d7275388f5f99914febd3f8d5799724bef4727339a44672ab6f363372913fffd972e302651594ead782871c30e69d918545243f4399145777d2533414fdae1de12fd8553f2c599f2edfe2a4096ede36f49c45a99b27daf53c775e8516f3c7bb100c25995e7537383f12232c7d7735133558d19a5e6b478e662ab886b51cc0c00572b5d8f55812a203a73199d39a6838064c4c98e6c7f370fffd9968347546b368690784335dbfef0cdbd96163f1293440d688de552b73bdfbf7ad3abc2a8eefe872b25639de263aaa40cd78c3a42e1cf4bee52a498e7f4c82e363ebe7976fdccd72bc348335bdf27edbde8a5a11dc706dd90f68df8bcf1f0ae731edb97ad11889727baf60a9b7f048ed4b2c51562cc82b82c4f78a08fa8e2425818fd5d8dc297361a3595a0585e51f1a9ae78a5b7d0d82addd0937265d49e52755f56c6865395772611a189b4bd91ba7803cbdf074ede2170a6b9970271a18bcb29fe8695a95dd725c02c341f287a2cb5729a497ac3f5cc2fa0e2c5bae0a560d1cf19b9774f9fd6c3bb50292bb303a847fe3acc047078c029c83cd7d5683b8fbdbeae99237fee225c11e59adba666cf3b90f38ffed2c77e8676757fd98f7151163e45648eb182f207062c8d0b73fa5d0ec40d92879d6cec683c44443e7843ea0de6043c1ab2ff472f4a25a90b21ff8284defff482be6f37679fd723e18fa8fd5564579d7b1f029727064d6dc09a3d00ee30a404099ce1b34886ec76e50229e8291a7790c6b46fa5b9c09ed6a10b2637cbecb8ec82a07a82f73f1c154b97a14b1422c1d6ebfd20d711096eff24e5edb0553afdde83ed59b232df9269dce4bb17361008f7b731bb45f431de075f141596bfe4a08fc8f707a8b7e4fccac6f60489eb88008723d81d77261b7d2dd6cf4b26b1be471cc55f774c479efa629ffa580502964c61a89b99840ba36483cfc5f2af9cb1dc736f3989fdae223f45ab00fecff19a9c7c59a593372535edc9f0306e2ea85d37cfd662f63653cca658bfd677102b05dd5ea39a1f040ebf3717a4f74394a25cae57ca2e013d897ee107c80bebfcb80ced8add0b35523e6f98ad3a9df98b377a2412efad9f7c0aa8636765d7fa813c027fc590c0149723bde3ce8ec88cbd29177d7a38c23eaffde4781f3bd84adf5ec896b443220f67247fbc82daba2b5bc2b1edbc0d10d9c8de832b2165c93f12676923567fdcc4e72c9719f010d179aa959de4fe055e3ba50f1b79477e18c54de1b7fe3cb731ef3723d7439070a5bf96b58ec5979734a24bc2d95afef09c8bd791e0cd098a0aa5909e055ba65edaedf38126011ab9be3f97ce2e3df5bfdbe42f5a2fe5cca9a306a72c9d3e5fb295cd733fe581d8b842955fc594a381bbd785a6a3f1868d5886cc6722a0fb3451adeadd4aeb3240b110c38de84096625345eb0ff13536af5845c507274cb6004e2be37fa00bb073dab5626e0dca4ca72fa315fe85f8338b9911dea7003456f3b88b5bd92a227748aa235e81cc19ed598aea1ee1e15d550940d866172201e32639fae1673e84d552d758a248d20432a3b55cb8a4ce1efa4e8afc266292bf4685c19084c397c93fae4454d14ee2bfd44aa1cd35f119258a2b9e936ff7214ce7e7892ec6a52205a6b1a0d56a162cf981742ed87e4a6a27ce63dd3720c15cf8a987fd1b186cf231d98763bf5fc43004fd8d8785ead3b67aa4ad04a70c772d6289a551eb463089c2acdfea4c77fc7353e75cf07e69c53f85213c0fb4ae57270af2a9f70dd1105685eafc5ebcb8d8737d454cd4ea11c2045f6d22be85cc84d45e8de6dfde7cf4baea6db8f309ce8575facbad7ec3ab5c8cc95643101b3cd678d16a54e857cb7e27fe7256ba0755dd804d6aa6b97b686a0112ae62ac0633a1b62743e6c5667956f17e98ebdebf3e2e63f838431b01fe52878fdc82993edc43eea150de6427fa7cb4ad6b1c779ff03324e8a49690651cd581523dd7b4ceb936be4b00553af4837d667fee1b4cf73e1e56db5dacbf7524d68ea04d4d5ba530b408f16ea2e700c36746cf9b39d9673abf17df88cb0c6c99da4c6cb67eabcf3c357f816fd8bae9359f99b695b16be120b67815325715ca904e4f5a026e2e30f9227c35c1db52232adb37eb9d3856c77351d4e2545ba555b4935ccd548d7ad72c6640f47ae969356fad04f1742f0f4cfa62514013ff47bf133d885fe86872e8dbb52a28fbf048c00514e43aa1121f46850a4cb7fd23a88aabd175d5508dab43fea72fbc33da00cbc8e4713aef5055cc5389f8208206da9056be8808411916eb7d9723512e619238fcd4123931660dcf4ede867ba2d700dd095cb16b245e49d361d30e2ef2f993327c0fc98ffa4d5ceaff919ad743858a9b62c3537af4af8770dda722ee4ff67f8b733b22152ce7531dc898e213950c498ccc15c37474a77276a2b72e8f4a2ae69a0cf90e68fa50116e7539b45fcadf4a998f81831073a7fb8a31b2b8359692273db5e5e0b4eae8e5a33cbee65ed115102f82c6aa938d696bde0e5720c5db6944f7b474415e712e5d2000678874dc6ef14e24b887f9142e4a692df074f9eb6e9b78e78112ba3f9d0bb6ecbdae1b67a1b0a1cb54401e9cd2b2e6969726e40e1ea15a3f335617d0d3aba2756a419a7bb46b4efce5effac7d87e07ccf72887c8d62d9be98c0a736b8e92a69544ff41c0d3ae4d679d47398a763d79590528233c35631165862bb4c7626a4b61564b3516169559d9f94a4b9e5c373cca3320a3ebf9ef548e4ae101ffd155f193e5e8d5b5338447f4296b43864c75998eb72033bd2420af205aeba9fce548af6e968e3c093e11a14cc4fac88d997fbfc6d7299829b9b84a2336c44426e36ccbfc6a063cfce9229080bdadaead3a635073768d979976aa4a0c0413b8b936f9981ecec83bc537df037ee3f6adec697ca82c35a51a323fdde754522f8313a0d24d5c2b900eeffedbceb5edc6f81b47ee968f472a47a1c485cb6530289f0287deda19695f41d2875970ec9c5dac279099b424865cee46071fa38d7821f66354c87f90e73f0912a8b5777ad26ebb71e3377759472746c146b67262df3901be8dd35efe1b26bcaa0557d74a2153ff102bc7f0ba272db86df73704ec3856bb3991420088ab12e709c7b4ea7d9255cc05ac78ccb57724c0447f9df935867c8d81c5717da376a904723b43bd1274fb364019232416672d1ad082cc855aff84956cfc087ad2d6a278e9c396e17bb5dd32e9e4850764c01043f9d4b7f40abdfd2219d12d73e4982c84b6d3b87dc1a63a6f1822b893c2e72f37f832065816545c6b7b4aad57a41cd12c58985844f0cc971cf088233692c316cb3fd3dc55fde643d0686ca056387091aa8abcacfaba4570c08da407079b2720a143eeec3604a99373f0ad8707be24c3a7ce99e10be093bae5c54043e6448086950a012909794c042cdf8358c1ae15f3c57390debdc0798a9767a4b0df4251a8d61956e38fb43c73642565dd4068f94af216b4c17e7aaff6388efe58af224728e333cbdd138d5aa62664f8b9bfdcc2260e267472322000cde2205fa07d49b72e1c24fa92ea5469a2a10fddd0b7f7882cf95dd626cbf424b18e0b465d5988e2a5675c53c4e04f60c8e521c98b4fd0386a1d1444ab9906ee0ed68a86fb9cc4835b59e06c934c1431d9f5044b25d8b74b1352ef50139ce50be3dda465ce424c97289947882ab10c885abd3dbfe2db9bfe276fb297c52c07c739b1d914235ccd76b0bb06e85fa39bc8a2946a36aa5ebbe52db7b1c5f39d3a0016f75d329babf8300c89d64b55871b773c587dcc390774515d64e3cf659cab8737f3e684dcc8a4416a2d54878447007799aded77839739ff0b57f0daf387981c709d078ae8a7a7363163f01394053b3732436d3c3f0e8267d89994874293ca72f38514d1e8c4461720fd372ed9e45b62a71136ae690c3a60a0352b6ce53c521068b301b4cc19b9a612ef8452178a2dc86932cd7546feb8b8c3be12c24a4485308aa4375e50976c0104c1986c6da0e1ea364709311b5d954cc2cf0214fbf327ea56e82179625217072762b0992f07f0fc9d60d097845f5799a1d86a3f8ea8c30ba202f7ec2f636ab7267421f2a54995d0ae012c7b4f4d2da5079fa972e2309ac46743421dd28b23c6f6c5288ab05c186012a275e04d75c231f563a5dbc9b469c0e84793409c3cfd3727cbe7817bcba77b9280cf7e8ea738373cbb6b2fc169c8df8b2e45c0cdb8f453b245fbe9fd4048714ca95bc04da844294134a1fc3ffeb378a36b6281e9e7f6411406068f1f560bf26454d519c474104b60bb2d55c99087108cf457baeef5a5c38024734f97a7e5d0fb0cae7c5384ee126966a412e2f6b21a8da1897f655c32a72eda4b164dffed7f0b667b6d7fcb2246aeed7b46c740dabd4a6c71a0eac9cfd72416ae2e190b592e386b32632ec9ece046230a6f174ef844fe1bc2ba02c240f72cf726aff6802f70a2a3086986db08ff25b8105732164eff9a0cafba857c10f72d2981dcf7d052d3b4e269e2410508fbdba4a6bc056d9a2260e12f7a74e8e4f72b4377f37fb8b10ef8d63aa7576f25c052d2d99152d883b4b7a89c44bbefd4f721549b60f862222f53005f5ed08be602f59078c3643a38b4721d385b68d961959915628523cc2fd79fb3a03328e2d83e64c66694afab05bb4d7935227a98e03722aa8b8b04ded1252f8c9fdf4329d2130a216034f7061375813c47878a3d52b72beaae052fd39f15a5307a18a92775b60c85280744fc93326dc9b8bfc0a4c101ef1d17d173869963b9ecf5014c07308f9fdbd15e18d34402401693002012ac37249e03de4745f9e420b6fafa8bc67f221ac5fdf1fe2e57261cfdafcf02c6c113d921ab833d636d7f50891582a07c5ef90144b67902fa7f2e40d627165a3875e2a4b7fd381ea5dcf356fa42a70ef94d3189f081eb8c501ebc3afdf5ece748e0d721e78b6e70c3eb861d0dad7c0c5587658377c94dc558ba91aab56865ddebe834d002b68aa9e48367ae2aff6954f625e42c692ff9e54bba3400b321d91f7c5d772163dd747176c41c94e9ffed5ef4c2c3e33011d93280e92c8a4f588238e72735a6229031770ab8b6591cf3311d5ac54db00fe674f8f50a2bbd74e333d73786972db02722ff95025cdb2547e6bde061d153805a7ba70b0fe0efd2d1b6e27589101bace80ca22ee585924489ddca4bd2d3c99cbbb3e3eec07bf5f91f6270e239754f94e66a1449ea51588bc50c17fb877d5174e7e2eb2d0380f14efe815b77cc6721c28c55886e46fc7d2702a5246e44c048200d43392a4af8d244bd92b7e2ee3720f3606b048cb2811dba4b0db180c85b087821a0e4b9235b1ca9d6d2aeb308c72af1e84ba1c88d2c5c268785de59829e4e1888a1563b336d29c55a4f14af1820d705d9127331cf27252fceefda4e65bb9d608135df4786db7b7b6ba1666f0a8721e14916036e150ad50123c5d9db69fe3be1cefde11e121cdbadf0e0dfc2062724d72a4fc59aac14365bda857fa495a66235e7f685a55e80aa43743080a5765726dbd266ec06c4ee3e521353d9d65c7e2359f3ef3cb07a51ccd153a7a41decf6a96e5b4b0ff2089ae76942cdd6dddee9138f3b8f76087dfc2a1fc4fe6911d66727d3c2a5898ae14e6c3b0cc0ae70452981915f03716863f3a7640bf10916d392ec3082c7b9859aa49fa46f1cdb73acef339050835ccd32277368017219935f6729eb26ace2e79e34b51ebed1627fd594ccf43e8cb2910abe241bbe305efd7fc720099a88503a0bd081351c6d36e43196eafccfe265e937796d39cd3f18041457200b6639ff52ea09822d411d7ec8d1b0cec70b471769a402a41a90f236f2dbd723f5dbbcf5f7d9f37ea88b8350acfe8595d8dd4823750f7506817aa5779553072880b9872e96f1b1be386f536905057596f626ace6de5e42454a385fd3046650142e31927321c5893d020a7926ac0160e8315905dd460efbd246d6737cc8f41728911ad45b63ead29a8c4d229fb02dfc67ab04885751dfb06f7e7816098b086724b21784f0461646c41e0d35e978a1c3afc1c6aee7fad6653627e47a997134272ba46673da329f0a20bf19e904f89de8e80662d79a73467a9daf6020edb488a727b1ab391a0713a3d64ef4a41a9c889372ccfc179b9dc83364d4a360138ce3c282194748993a07f735d6d5e51f36a33bc7e3f542a03aa62d02782cce92992ce5953729527240c6891bf8542b6e0f34393dfa36650781742ff600fb5447d199411073183116edc5411d60c8ca5824a93c98f12f491dc96cfc0fb5269f4725708724e62abb4867b3a4e15bae1877a66424abe1eb0aa999b167a2507eed89a0e45480f5e8162bdf1bd1ef4c9d7f892976678990adee3f000499346ec02fbb97b6b07cec9e38405a6a7ae1aaec5862dfbb397094aa3c67ee4fd9f301df46e2cc61c72781aee2de8ddfeba3034c5b90599bbb18c0f4f67b75e1b21d63137928491d63645d9682eaf388dfcb99802323e92754d41c9ecf0d695fe13fef54705b34d0f4ac26c49ad5bb11b4a859d908cf038829394f1e7bc44051c97478be8a56361d072ce2543a9dfca288454da3bce9bb09d7e0ac1e546dd50a668a2fce4b6cd5ab73357e59144b32a84bbedf61fcfa78a817c0d459af430d4e482f82e2f194ee69e259404e3fc48cc8ab356f105869f9c16de6986c674462d24a0d5e911c126e6e4723b467fecb841d0cae567ea9cd85e1fcd2c3fba34e5e82203cbe35a53a4d87972cfeb42767245a7f0d0c937a959b4c20d388f516193d3ded646241728c4b8cf72c557f804f5b44c27fa3d88552a6f61241ea490187ab2eceeaa610e24353a6b72bc1b790161a4831e5932bacadc197aa78f50871f53a43c146b205b02bd765c72a13b0848d6c40b473429e9a76bd4931135967d5b0cdbf0f150b8c7af06ab2e61fb646882b07a453869a83f733a28337aa8671b99e5d02f5aa515af3a9b39527200a83b4505ac3a0c1c254d0a543dee275628aaced8200602ca4a9a23d78b8a04251058f12b9b7aaf9b95fbbe921f4e6726c6337c86038193f97db2a6c79e3f725c71a7cae5f3e97016abcb8b20f283b13f0deef704c45ebc56f8a39f25ded872070cc467a005a494b186b7eb830b091fe0532b8801bb0a05e5bb9cc9682d2d7284e7080cbc02b6d0fb914c274b3f6651ef459558af28ba2a8f4b6de98919b77220a6e5ea4b30bcf4a088bf3b27e7e3f721fb35dc40cf913efff1b892cf7b6c243920cbbf861624df5419b4442a839eb471642521b91ca01afe52272e390b6f63196513f566b39757fee670a7d683998d874f9ad047000652658de448f79a7d59888260eff835bba1e28b9f8accbfcd45c5e77731aab1c0e486156eba5761d567bfb92beb882134bef6df6af7f3ae3c08e372144b32b98d9f0e3ba7418454f672ef3f149c58084737832c331068bc92eac987ccfcde181db82f9d0205befb1b72078ad4987b790cdc7a776f83749275b8459bdb1cd010b6ec33df0d2594a782312b8720d23f59ddd41e2675962637111a717d3840be1426ddab1f410f7c37f145fa9785ae4f8072c786fb33252ecbc365e78d75b71123fbf44864d9a0782f74720ae7483025a1f28eec77dd86118dd3ffc6b39979eca42f5837a9e7d32d8ea60b81a78795a0179222da4818ee7e1c60a05368ba10d937a80ccef522aa2f74a92b90886766c9e018d5cb574922cf791ff3bb9704256b38132cd9d68cd1643cb772866b4af3ac9b5088c2914047226b1c098137f4bad8a18441751c2ef2cf902d601a2947a6fae1e7571dd8c2de11575c342c2b036967326a8eda0c0973b63d515f12be4d8386d5e993cca073058628cb438b6e945e88909a11e304efddcced360164c66f039a3f4a1e50ccd60876694b3fecc3c3d773202b8d415c0fe5fe749902fbc0a3fb39f1bd5cebe27e9c05543149ca72af4cb791d7108e2a400708de2272a1cfc25938c0588835b536c0e36f391cde9e800baf9b9288f4969f3a705a830382d20d701ccf14c87c40a1f82e0a8dadaadfe9affb629393081158592789ff729a8f440adbdfd1479467cc7f66dc43ff46837c57bd99b1405987ec7f52d99166426de46010fe345df14897ff12963b6a872da7970e6068fd25232d041d8328370da3a19cd85f1d3d77f6809846318926a4984db4ce6a2c5690cc5b8adbd28c72695c9146160ce84070ee9351c4f92f12c8b01fba3bd5bcbd8e56856cf9ec7e19377c10197310c9bfd1a9da771b86dd94570cf17f96cc02144ea1b95de9a6771b3dbd3b94cde104401c2b5a41c32393b4fbe21ad916626ad1620dc46b2b6bc60dac6f842486fea20d2f9bbf8541ee3d0b59c15a2cc8e99df47104960e292a0672e78c1c670dcfe7424632c199ec9d9882edb6ab84a14bfdbf2f063534014f1672e665ce9211ec0dd14563fe4a92ae0929e170e05c85687323ae6efaf02cbddf72c1648bb51554f19f65964074f54a6fb02e9656abdeaf7fded5e7715ca69e5c728400fb2acdfe5e8b49b355c9560ee90f3e616cb1cc97d84497287761a58c757204fa627f6e4c6bdb75e14d94b43f454c26c300f87796d9e0b33a4ce66c87317269bd7bdbb5d273b47bf7ed9522a7047e039affccce46b828a71d52a07f5830589b48675ebe5b06c24b87344c3dd58cfa9184c4012b4436c6e363d0b1aba5891acd6cf91ee14144b291802b9eaf76a3c936fecd004de2c38389a028247db3c772cd518c2c699f21a6ce87f6bf425f8ffde0c18d279c4b5c3e6b5a171d741a80724737afa9389a2a68de5a74becba471b8cb4f5cea6bdcbd6fcddcb28dc4ac3f7282d3e7b54fe4c24ea9457e9ba6f1eee2df228d414ece8b024910ee35230c0632fd8d6297dbb0161c7060a960e9020bb6db5cb84648deb729e1adc668269d2072b489c74c38eab1a99581c81ecf920432dfcf4ffc453f9eb1f024b03633eb3672066a7d51f6add16d58cc096517f91df2a1a24e0b6a9d2d9e556ff2898f93307275a59b6d692ab7b1a2d85eafbe099dd5ec3dedfa69880b5dfeef157079770d32fd01c6d808d0572b0deec1aa9aeb7503c20014d0d3c7940f22b3d3bd03b104728bedd32261dade7c4d5a35879233d1cb79aa729cf33f24deaac652736354547244bfb3504f9986ecb809811e4687e75d184abc27401ba60ed0206249c90a0772d61b8ab847a3e00a408ca56dddd3004c7ccfdfa58a307107ffc551c6cacc49724324d087729076e2dd8953e95adefa96fa4f669628c132897ffb0422666c8b008fd9606cfe2c7be96c2c17fb9a2cb4bb338c6c488cbe0a660d91bb6458a56f72af8d229fd246bf7a766b46f62c93c246aff8eec9a7c290d6f38a8fb3fb9c6f362a9d07cc5e8b3f9632235b8dda70a42d15ef97817197e33c3a5d434767e49a63d97778e77cb12d3c8fc6653933799a864ef41991b83f6f6cca299b3ba0e82a5f3870673afec780559ae675c37e906d8f22c47e715e97625e8738bfff511e32722c8d108ecbac2fd5033780d2ddf450cf2418f33905e10c03ccaa432a0c1f9a728f04ee204ee1d802c76dbf0e64c016572db36b2d77935702b8fbc2a5989dc5723d3e576f432a641ea733c5dfb0f52266cf318de2f52f45a79d23278119041c722e5d2ca0c0f17c915bbe7bebd691a7202fa5cdd5aa1a9b5ae82cbea72513ba72d50669f3f2a4830edab9768aaf7302e5885999de7153656cbbcbe6463e518a72e3d69174f15478ea6d80b01a3bf636fb48df8e06edda9cbce05ebad0464fec70dae90d75226f4558959ac43bd9725232238a9129eac481efabdada32d7e5b77280debaa6ac03444fedf830bc27f103d8a4a4133d381999d341d5acdad4e5ec0be922f2b7562d1dc3524db02a689ed0ce2c15aa701a1337144eff70304db82420005477b0b1fc6041f4ee534e75a786446aeeca2ff8ea00efb3c7a0c879756f72b351af7fe24516893a2f2d467e3f1da44002fce340050786e48a984a306aa17017569d7280b99f1936a24e6df79e352328a213bd2aa11993b769b282b4ae3161aab92de2a807a0ea8b1b0da7c218dd25d8c155ccb3f5b240db0b881f63487b1a372e5b24e11a536b8f3b04fb7906e9955ac22557a23db81880e67f018ce2cd7216b9d0733d2ff01d9c16c4567bba5affaf8024660469450ffbb58977a01d0a72c191f4b69fe615794c482b68c2968bcedf68c17b67dd8ef7d754582d85fd05723b8894a21ec6ae223ae9419335a27e0c9bc0728a5157dda08b7df996dcf7cc474117d52c2fb4d6b94187a892765bac87cc20f096aaf1dd88a17ed5b9c6030a729819e89c6263fb89c4b929384a0a2c244263e846a421be859ef38caf03867172d14a7ddbf1314ae0448119ac00f3a534719ed82ea85fd393494c1a9a55348b72a6b5226baa1e654cd2120801b65d4e7bab12932c95658faedb30880bbcde437292557a543933fd820b3776e451e382aa158970dfc35c79046984296411f21372fea508a745516f02c0ebaf31263003739dc656eb7dbc21970264e0b64b49e53ca19a85885125be2969f39d484631936f616d36a002e1054145676e5a53237a724c2b074e87ebebceaeb4f864e595d9ea4feb119e9f92f15d69fe27fd05d38b72e567552ccbccb1334cc17afc8fcb7289acd5b76135019df002c5788757acab728ddad716c299becc3c0c2fc14bb44706211675382b22f59cf79f5fab2b90c71efa6ae6a429bc496dbbd952d3c36f1e52751d87c445d9d3e9fa20eab094c78203281d25c88210c116aacc70d0bccffe89c31010b7b52033694788b5d4e2a68272a6ff8688d9b7ebc157701e867e37d58e5e035bd9a9807b7cb07ffe13a4dd8a18ac4b4ddb831995a25219e0148fcac14178c1cc146c17040e74a19a836c22d472b65a64459ab20747e6bb6623083f0ca3bdfadb3cca8e1597af321474c0526d6cbd1e7f3a3824516fed1de18dcd0f8dfe939a29402e8f8b42bebc218fa58a3172aa73e229dc20e73878e1aabe47f0e0f07caa00b22eb83a834b53c505f7ef2b72b539ab440a587ecc95cc7d8d56cd003843614ddb41abb54bc9608bcf11e09726c09f77fadaa3741b0ce214af0bd094cbe4c3df524fd96edb70702793decebf341a7f26a2ecf9520874d77c7270afdf0279180091679271347b031a54c8953d1f60eb4cd594cbd3729001fb0a81ad16a5c4702277543b2c6e4f9b32ff5123fb09de9b1eeda1f79dcfd2a838b0568c95605fb06cd435290a25861b1c6d458be34cd319dd508172e3f83212f02e6e8fcf61eaa66a09a3239fc13402802b110648725e9b7e63bcc88d4bc0e6f70af28ec3cc21b540f3efb6437388f4b59162b2a1728be7ef927523756b5a7556ba2e5d0b0d83ada110cacb2d6fa3e2792c5da37072f7715b83b8099cfe54174743a1798ef03d8816387ccecbc96edeb96f52b324723b7a73147e743228b02400cb069a2b89b9aaeeaf7d7c1ffb96717b2f599ccb729b8dfffd1fd3386c4179e3a90011874109b31106ae45587e35839777776b0c7266ee7c85665addbae21e848b484dce734721b124fe94c01785d5bbc619cf6672e945ac5303d555836e1ab59110df7eac4f5b74e3d8035ed6068902b4ac76eb72f9deef5c201937e202c3ca4dcc5f619a6e97d7e4cd736dbfa6b02b237c365e09bd79ba01f5abd046c52ed5a5d135582957b2d7d10a58935e9f02e128aff30c03580ea239682323e897fd320455b8c77e342014201617e4aed94504d94e62ff7286014c0d27acff137cbb7b88d2d1734c3b4a3786320f84b9dd93a1d6e13c3072465a478e4a9c3bcb5fc52cb214149600da9ad6148ad188892273735ac4a8266c2152ff8236478af0922a6e18968c7a192bfb640ae2c4eca704b751aa3bc9f13a5697b760a140530418b9f04deca1ff88800fa4c83b1d8e250df949a2d22c74183fffd54fe68e2b5b713c8f1752fe5184a46c191692ba77b6960b0be0099d5a720abe923a231962fe7b61889ca3e5ef0740046e37c6103b57eb4e24ea1de2dc72cd16c8a91f77b53875f812b12c22d2e1ca1d91b6a3322970637ea4d0c75ac3118de95069af8bea9e381be466d57a25cb2d2790b4e3d6d32c039a216e85468672bd1c10b8445ca8f938e6eb27519375712cb4e5ae322fd92cc8c3e10a8c652472ace731d733497ca3ab5fd1a281f5ad295008371eca20366b508b769495fec972fa4e4acb99191435b942abdf535554dbf746f8b766ed87a1e579997f66654d052a74ff117bf0364ee5aa1d2880fd0e1a2c8c17efefba215366f6d92e1c1cd172b63536b4aa513388855a0fce1ffde451e9d995db71746f3b393da3daf8a2d072f35a6b5e2592da6d404ea8bc8d1e7cbea52d044556269cb31677037d39144172dc568852d8a49a5abe91ab51bedaf02f60b8b980b3320f941534d42cbaafd86d15a2991151d71be634213e3dd257c1316a10e58c5c59c14f860d2a6d9cf22541d7578eff226ff338411e7b6d9a33da2e1d436a5ac51527cc7746815f172ada4e0c39923dc244c5a5164b4a4eae71f2d498643312dd9c86de22feaca591856872608dc10a43a5d055fc8e63e04f7291016227455c2a8ddb23d9fbeaf0d19c5c727d79eb16c2d4d4d650f2867749a5361e79a24c16c16a24a56725badc03a53872152e39e3788fbcdd8545ed7b9a1f8d5ddf4dc7b8fc611d1961da58a06706cf729e72301107a031ced62ebf78bfba23921361ad3f0418f1f7768256b488fe2c7272f5c6621447fe3f1fdfb60339df88009983311310b954125c7496a61c1e1b48fc99a7b6b9e00889810510efdf79d20473b468b2426ab1f063abd995f55916729acbbafc20ec5e091f8d3d7dfcf63be11220d5a604e898aa0967ea0ccb37bb72386b9cceb3105f79196269b47094da5295b2a675e936e01a9990da94bbd1f172c5b9492afc4c3dacec51ceceba6bb66ab2ba2c215397dfe99005ba1977715372194d53af3d133b4d9e5949306542ee7bbb3972de7e7f79859233b73726ce0972efbe103406814b74927c9561a07b96aca8ed158561062549295b8dc02a03ff1ab9a8e44c81edfe36978ee90216061dc618cb5beae39ddff2ccfbcc7f1a0af672f37b59fc1dad3d71270ceeda5fe83e35ecc67fb728f8569947d771efa229915ee2bee5406fddff79248bd184a888b8a9c49f36e89b0b4923ac62a106dab7b7725bf139c39ee2cb599f8fe74c3402301cd364d41d263590b38aa0f764d6974f673a65db665db87ff85bd3b5eef3f4aa10b3e23b3bca3f0e70994ae5e171108f72cd46adf71a5e794afa4324dc35e0237dabf0dccaec14d6d0efc7078c11965a2fc971c661f318cce32dc46ec3f5dacc394edc18d79f3d9ba8ad267b8d0410d37253512de03ab2c0aff26f2e9026a7bd634f0399ec56f38358b9ce696227a6f4362516a1b3a40e00807c8f7b0c2b48fa2e829b754f5774e1f0458f50f1e90c0b0b16af26d86b4e41ad877eb13311e54d9f3d4de527883da82739f88e1e79ce1f47458811df6bec0ceffddffc9ad30c6394e3e51eb5d8b33e72deb0d571eabb616fee54c3b8b0f6eb96bf9055cc0714ff375b66ad487cd846ac0c6d462b4d8012728710f5b3b00f6a7e4a503f5c661659e9f32beffa8052b4fb317d96702c6854722e6a3e742577e9c2594b3952873392eb549095cc5e9d81f0ce833f3112cde03125f656033b9fe36b5359792b9bc6efc6ad25f0007de4a6072407bfeeb1dea922635a9365b263bc18c532a432438e33e710932338d48766502d37e969422cb9723ac147f2af4bdbfb2ca9de000fdcd4c478b756a96669ea0c6e0869a28dfd6666f4671e16ca7127e346e235405c7f3392c6ebe428fbbac1dd55d562ebfad31b722fbdbe15790e415cf9ddef515b3e05bfdacd121b07159458a115b3429b597572388d90369916651da590fa231b26c1db1cb7456dc2a99fc6d1c139fabb4dd7722b708f4e1413d14e036774755265d167b4b7806c0618390b5c26d101ccc08a729147597c9c8ef58b2beed9b01039871133dbdaf1cf9166372033a1ca35ff3a3d950f43d4bb9fe3a354246f91a51d86b890fa29ea8074ff3bcce5f0d481fd4a723c46348e3948a5f5650d74ca66dca2e71b32caa73c2b53ad9d50b73054b1f97201aea877d11ce91f57a675f256373082fa1f5aa26bba155be9dbc2587b1b13231ce9716aaa2904dca28742834cae342a34783a045940185292cd005e2bf6a6721c2e0c1194dcd0c305f89f834c07f6fe30b1460fe81d654111ebaf9446cf0160903013f06ac239ea6ed0d0e15ac0e7a6b8c81345a28bed216f39aaade382e272ec72d0635fab25e1431a933d77f3cf52419da0572ad5d8dcc2efbb3a1a2e6c72800d834d11630f0778bbee7e591b4479433fb9f820f569b0b66e4f895d7dc64cd9113dc07cd7309b98acfed9a9e66778f041c5debfdaf14134e40b904bace0095b54ee0186934696f0936c1b20d1808d961e17aaeae4d9792e3e640a3660b701533306ce7cb6e24d77710186430138d2fb6c721bccb4d2f5643744d4b4465b72cf8ac53ca73113ca251d60375ec405361daf801399e1750b3ab0845256f5d87272b81614eb4401aa64837a607be4e2717e9dce8b1b674a91e79948d2c4e9601d6f4ff87030eab79d65ed710d7f81df7ac45770e7a1e9d77da283896a3ba9a372a518a1a0bbdbf34424713b7554f2959d29344b2b6e70d476ffff3205f4cf4d727da609fd3506140cc66d695733863d75a2b1e387f1bc3fde3d9781f2562aea5d2649499a7c8233f11b102a64cf9d28b8167893cac581bf1ab8a02dd0435a36726131fe50a97a44d57d3ee4c3934b2a8aef0ffdbfe9548d748b62773428bcec7237508a83dcd9a1b7bcb2ee512db1228d8ef54c60c0281c5814321c645256815b48fdbe1675ffd5bbef426f14dac6490aa14379bbfa58446086ad3a68e03a4472fa2153ca5c88a332cb4505546bad5a1f4b3c561f438b5f6b35c214bf9535d26eb4edf08f45388f9f42fb50f9b95f089c55c33dae8e682eec4650187ad896d6728edafa9c86ad9bfdd8314534250d8492cae341b2d4a32a5b8c053892dc510a1368ae2ed985fe0a532652cbc0192545cae6140839b1f7ff33898e025847b4ea17f6c372d292fecaed14a3b5d9db48d051e81d8b469535f14bc6d6cff2415b607222fcf22f190f236cba3d188fb0ecace2c4c9e551d66a817126eddcfded7e97269f176a7e91edaae4b904fd6238937a3b7792c6864df74cf12c59038be0a1c76d7cdbc818c4ae9ecdd05e0351b65865c401367eecf8b9804677a6a3536ff43f684aa829592851371cbccd1ed19f7617ef3aab89739e4b83a3e16aa2f8605e2a19f33e1aa64b8b33a7a989efb31c6d171c1a2bf734671dd06fa80e6bbb2a14dc64dc5607a506b79094ef48932da3ff53eb7d536b26ba88d097118483f504278a722f5f2c3812c2b28f19756ce02ed56965270f9b55c58bb003b5c6caa5e414b1723bcd0f5616269b1a8e8722ecb331f180b8dbe38b386f2aee92bc4c2568381572b8546702f0cfe7d54c92c4fa6765a3186ea3f951ea5e51808874185b576d7122230774f45b12ac0a7660d782805bcec1b8c8a1ee8858cd65ec61babcce627a14b03aa958ddb29af752510ef6146e6e393d4d6bb8f8cafe104d39f4de5e3816729a137d81fd4185fbd05b63d5bed116512817dc1cf8d8fad07378a5c6733dbc727b648ff222080d60d42ffede56ebd93d54420e2523bfdbb764c17f6edd308c72be2d51e61fc4b2c60f78352f59f4f0d060ecf8d21b5ef38e2182046371f3bc72c9b57417f935575090aa94863153266ed2069e8c2aa8374ca9f4a5922c4ff87260b9421a1afc7e0001e71db2cb028c5745274172a15cd6d0cb0062ed9396f2720659c0c640fce49f0ca4a05e32063664b727f4d8b71580ed55ad879b07b00572bfe970e0fc33b957a193b8e11f9bb522230ba8bb40d43f65b862d25774d7e40984ffe6e9ddcae2c2d861434a45f8e045d1fb3cbd6444aaed7c0cf2f3b5acae72d0a2f2c0da1d5750e49586e2aa71a97329c91cc1a17e39e430cea005e794f507c9ca18b5ad1fa47305bd513e7d9b9b30f85e8453c6c53029abe6ee259f85ed726bcc207f5abba68754575e74d92a679bc64a73b688b33acda9ae398466356d291af6d5656dedab13a17fffb2891a8f874a7485c00c3527dff20c4aabb77e0472d9a63f6189f6a667002917f36d01927ebfe9cd5744eaf9cb188aa1a1d9d925726f8e4cd803f41056e7b559bf7c472a7db4af34e5582145c2dbc13f2b25a1556b3a335bde2a4fa2388a56c1f984f83364bebda835847546603d9dd87d8c8d86679a1d5045dec2e6d4d8b933592b5cd397a78621b431fe8105f4fafd4519d16872fff549351bfb4854a5f91cc84dd860eed226158395c85c0d96ecf631586b7e7228329a64ff3dedb32aa9c73ca10fe5d029de2491fa22938b899f74e3901ce8729970ee9e2d63faabd876935caaace6fb954cc72fd6a05715d04c8265a417a820e3c51a8f69756f9c3b446f4ffc2159d11ef962720dc1d97c95ba38620ac224724006218bbfc18c4f2398541d0932c47cef7a1debc465c29d690a9aa55139403d8907f15f413b04616b753be6e71b5eca0cbf9b71e2049a679e7ed5488e13e072b20851c7e9121e3253c71eec9f3c6a37ac5d573939f2f511052288b8045ad5723442e4aa2e3dd9b3544ef18e6ba1f4a5d780b475a0a737abf7c55f44ec601f72e05519c0798a1d3fc11d27f4a55070471ee0b8381eb6eb4fce087bd2c02d1f34f8f24e01ff93d25545a0a66a85a0d1559b32ba174eaef1955a3f29b0c265d772f03a55685f8085d77161ed0bbf8ea09183f97732588124aea2d0342a417261724cb2f584b2d1e1d6180a3fb4d982207db4f29d4dcb16045b90463d3684df11722adad4edd29811e730935515a8a93a6a4c1f2c996b30cd021e16b5476cbf6d074c9807089d14ce1e2467d495745fc4c716c663902f6515603d69810768efe872c21a1993ff443969d6abf469bcd782e0f591ce011bcc7793aab8651be36d5e0999347d829419bd580c38a7457397340f254ea71836d20d04b23a8e8ba809d3167f4c9993cc55820019236be775540f34a730692d88f81ef2104a48df9747fd722fe16b2826c64f29b757865030444186aea303333b8280010b58f7cd5fad527238c6e1db058d26d327f60ad171c25a6861df8b7eb886e0c53f7c7c0c83eb0956ae15d3edb03c964015cc9b0fb2c045675e32ef4afc4ec9386ecccbc7c84ac5725f2dd8b5daafe09d62be8ab455fa778c91230767f99eab7453d327a0287f71720c0b04c063b37b3abecb530c39169bf9e403851e8d11524d5319fb3f5e3420725df03dcdd9f859d61f987bf436c12e93868b18fc8facdffea815dc49ebb27b4617ef3a281a7f1471ef4ac1f1d38eb4b7a0fd337532e60945cb580d22cb109b720ac9b95dc4126f119a1e8d1c3317ef9fbd4e460875998452110ed076704579724018424fc94ce9a9cc7ca11af1eacabbcd0c4b2f69457fe7b78cbbd70316a5443c63c18188d0990438f3bda762464cc560e3269fbbbfa054558c3c885d6e7272ada05a52ad008834b80b33716ea2eb375be70cb195e948e59f2b0c1435532d723bd4771226d91ed52034760f6bf8e0cad693324e543d6d125a9a1d88f9cef25c27fd42e9de59537a36e06abf3ce78101fbc0ce969450f327f666d246cb08ab5f0c83dabdae522174205dafc252b638eee2f506f099e3ce69fb26a9648822b772c3304f05967f980415b615366d80a54f53a363b815478e3c7418dbc5483446725d89cc7230a1675643c5d5c50cf62417a698268198b1dcd7a0701f7587e53e449ca6021fe9e9e031efd81c0b523d03274507f780384cc02ab9aa14e1576a9572e7d15440db7cf07b183d39786547f7eeda4a592aa16a73d7a0559737e985f310ea44610b2eebb943942e01803b10cb43702c371920179d393db2cc1e83e169729fdd0cd7a632196ba1cf68969a2b7fd413ce90623bed6b4206da90d67564d4727a8069ee8189a5b8e7afccb33d5dfd48396697aa40d0e550eb32d8f335899445283ebabf6f42d11bfe7176ad68e0fe58c88f08a0a28c655dd272af6bda1dde7243d7dd1b15d7e50a5a1a2a41be2581da28680adb27b094cd03d16df0fb275e021a076482af50c710c15ff93ab0c53ac69e4a71a3dd486eb9065cbf4b142e12729ab807a33f70999702cdc440f125a6a7151e414831ea24910707d6911a6c5729f540c9414d61658d812cd857f9e047f7916ebf2c7c0a05b6814f3c82cdfc2b184ba60845c93c31f1d346503745b084ca1f5151ea485fb67ea55c9b3194090872e5dcbf5667fbf7aff05f6032b60954dd07f3e5e094c28188e690e7333ee7d37279adc3a977cef66b4295fcad139b699cbcc937b7a3e7d7550993af7ee0aa7119d4d9c5d81e88f9eef789248bea42c0d73c370a0137edf6d05bfe6a873db6ec22e641a6caf1ba7ffe6cad9dc9c1466fdd4a0d94497680262adfcced88d61ef3666d1578fc85ebe8ba1e714d0032b2036e92b718050ae6a5aea08e495b7f9e61727a81d48f553d7fe6b9bfb8fe81d2c7826e23b23c1cadf3a72a0286eef50d4726e6a9a03d8e0eb4a46d465671374216c70983712426c6b447e1597017c69f0235e3ead2ab30e39567e3617d73b92f4a8bc46eb195a45159076eab204e09aa7972c682a72b67b033737c57a2634d8247be16d01adda6ca85a59ab03756f5c4486913522e47d6f67c2d1cd058c9404b1dc6322e1b6e3b190809f307ef53f18f5972468a6f671257344e10279f0655ef792722fbc213906c866b2b25fca2108fa572d2fa01d5786fcb15704bacc9d385936365430b3e54b4d87f78814092c2d0db725f36a8d1bc772a2b485c6f0430d9380b6620262bc3365726ef9115739339034de3d337510f74f0ebff3de5c9cb99f5247016a81348b31d0e70f9e975fb350d72b3e40566d305f8bffa626ca60dc8f5d60cf84664dcf1268b230b465bbae0a5723d8f3403d685afb7affab348984672b3e61a3a0517352d5c76a276f3be0f8a72287794424c17a1e63f703257785c777cb8b37448ea37736487d4b18ba4a47f656fa9b285630a8941e16771de56fe423ae3a395e87f0c6dd3cf01f3db96a77552f8168acd52d3a7289f1e6aa1ac7644b710edfad80d7dabec1c9ddb66e9cf9f2b32164b343eaaf5dc40d9098f9dee79e52fd7f9f37b8e8af1ad8083e291dce972c9c03cf3b0c31785c191446c05a6478874ff654ee1836d1df5f091aeb0f7ef4a8338eda99734d07fb054199cebf0267ec0f38b4395c8be2f5a01e821ba15ec6188d597dee246cd55d7cfa40e44997bf46775ba2cfb02293b31b6b5846a151d72a75f033ed286d8ec52e85e6e46cb05310c719cc52a830a376086eac95c018272846884c26a9ecf6256b10c6f3e28d752b710e7c44dc614ff3aec8c95e6be537280f4595fe0c6ebb51e96eabb1a479826cae2b39478ccaf6adbee1c897e255272966ec28def7531d17df63dee36154dcd41a39dde8a83c6b8705a87c7e24d64724c0e998c9cd81740097277dcff58c4d3b630b52cb97bb83f231e5a1416264472dacd55cf6515f3c198d144f806b7215a30ca754e04960adb032d12d5c66b3643f70d092a03c627ddcafb8d0a4f9410bf8918fc0ca495a3d4ab06c5d258e1517293edc760f4388e2fc509e7a07dc446f1130487a808536e9ae81eec132335f37254a3342f63172f4c1f0364e23507c1539ed0940db3cd7567569dc5a0dec1cf4668ac3f46edda25ee4a171f33d54b75e199ff1c5a163c4d966afb9080840595722c5d1462df4b89d1574cd019ad84a678b3e8cdbc090a38db46ef133dff657b72ef3d45298756635845a607661714e7a13872c6f9e3490e4bc0fef47d96d2d372eccc3abf1359b34877ba3b9dfad10dee9c7923e327d0f464f8f3f1cf92bef45ceb6ed4e80226bdf2713958cb11f5ba6ac29371fb0fba72ac1b303231ab7c0272924764c6d73e355c6493337bc1a1f70a9127e9dcb1366bc88480fa2e15fe7a72fc3262696037b282f09d9db6f75efb95eed8d5c9a2b24651d3152db0ccdef7726d9ab98400f1a6966af4c6b4f275f575ab0d7cf1900742082dc2c73b71128f278ba72446f0a253059e9192d5485d4f35856c179c911f931f5ed6621221f54a01b4ba8735532f8920492582b6e32174517c6239dac751e485b3b00125591ce2199624bf52b33f0d55c331b2ca2956908e249dcd374836ead3418c17b99f4a5a31dfad5b84911c653934f64fb0c2d44496b8d33c5bcdd43c9e65fa4b146a770a728e35ada4c81fe9abd0642f1911d09f1c35290bc6e99ec8c5a9ab4db662cf5d5f477a5812d8234fc45ed09b9b915d29f3c46b8d7d545836e009e2f33e0755973485f187e6c754e8a22db0549ded298e8c032ab8de38b920bf1947d921d62b794879f1d14fe9109fd45955fd2737e239ee10da56291136f6c604c8f648f418067237eac751e530a485fbfc43213591b5bdc5edb5219e326df74b269185da19a9494f3b2fc0846315ceb75b71e065286334e34b1e60dfb934b1486a23e75138c172d11b05dcd5747318ed432de5cedf316a0dabc16dbb8bd54975d3b00d2e914b0017e0bcba33c26a24eeebacf3dbde398ca1d92ee7b16f27bcc00c2c2adc1420729595140c48d7c68b92adf9e2aea8feca9416f83bc853abf6e849f354412379627d8166c3844bf60cc69cd71caeb85d2715708f386f5ad1fa0814d0734f7edb3b95ec8cbaf2173e7c4105a7a80af72bad55515de8518945e9b149e5306fffe572b26142b2985e55f487f018e2e6a2a0adb738dd3a372bae00ecd8c30036a8b00f6579f8fc72c7f8c2890e77a02b0484680af530ad5698051092cd8edc27aa9b723e367b37032c10f504f4e20778a6ef4edaae7348c68826dfe7b7eed957e1da58dcece523d2605b1752a22f2c665d33bd8c6f30b52b40a48e297cfaec3f1fc172a16b0b7e1ec334784171c945899cd28e42beb620e7be6ccac7817d29fd1c5f2ad485f8b4a44fe00948430c6604fffe52ffca8355ea4d4e32b0395ae843eaaa7205e0070d0ecaf6715cd4e4546ba0f85ca446f6c7ba958dd12d153f8f17d248724ae8d569f3c7c5d510e892519644f89d8fcd96c035268359cf54812c10de5872bef589c95edeed53dbe78a6ccd8542ecb154c6a38f392eaa62c60c6f19bf7272898be9d5a05628df5310b342ee9f1e5b247b73554b593856f74b2cbf257c4f0a45371dc03d4f41147db13fe91fa7ae56982b4b959199cd58065e276f598175239a72655ab52b4461a043da4033ebb8cd778a8538e54c8f856106cb05f25c7f5c8ce12d73aee7db524d16ae61c49c33520e42a22956150fbdc9c312ca40ce5e061ecd55540c8a227568d6eb51905e193bc6b20695adba9f9d3dfba84b52a5dd6d6c68148bac9d3a144e1277b0c546e30873394f51f8e4293da521a77465b87a0593787ddd71ccf9663d4463fae0dc8b58c6be2a9533cac53fae9712c68e9b5172b17a1eeb86beb19a4cca73e409e899662aa233f92aaa42006d6e0acb52953b3dcc20d77f46536e9742cf4c1881a69921c44a57f39d5b4e66fd9001545c6df50487391d183d9b77eefc715f421294e97962c6af99e542f43fb79d62fd15adc4562101ae74edffdf3cc4e905de989685d8140d8c2f19df75026105bfd3bf12da72ad0d6e5eb11b7fe49513bc26dd061a5032fb6951f91324d37867f0b70c70287242cceac68160fc1b073b94ef32f9f05e6ccaaa3873a0de6b79f1511be258021b320b7b399d2ebd6b1002433f3a48efcf1203db34f8068e35dc3233ef2df26972067896f3fe37de09e561ecbba5304c7aaf9dedb8c7195111fa10575f13add548d8b883b64ffdebc91969f8c85c03a90b99a6b11efa092eee83ff3a812c893f7255e22a0982aafacf4dded262092dada60c601dbafc91c4f406ee187edefa3072217f267ee97a5bc067a9bebb9ee760884daf314d8d5e15b8d3f3f3372bc4e260c5eebc5a36f572a73f54e283f0851e7836a505d8c0452595eed7fdec990ac864a62cb3ea97183d9d457ee78c7f747d1024609ff9190e7b38f582e5b39cbf75721223e3e1de8d44d8273c7e1f82911b823d19fc76ae8ca8b8dce28f6c20d48c72e72429ef36a7487680da95122944679fd14d3c6d28c81518795bbdc811f1ca6116dbcec24b26c708ae07d82b8f7284773f2334946f15bc23c95728110229553b2abe58924224ed0ddda47563a8b45ac805b8fed5584b7372bbfd3b5e6070f66cb48714f3b42da31cb0114831e4d194b869a540a65060622ea39e48b4b2b5397281dc7fed91f42d1c39c1ce86b43725748ca2eeed7171339245b201ed12c65c177ce4e9084d8ee6f412246fe5d058d2d3ae638db9117084b5cad196863eb9735c57231f9be1011183013c39e2d2d02bb6cf9aa4a765186a6804b6a893eec6bf724438eddc7c6196d4a139ebd6988a1bab0e41de685b1302480a9e0b964715df6d49e94b9b7eb3cc1711d780d13bb16311c6f67ec5421ec6b608dbd6f37d13dd2ac8fe5859c6b705d084534cca31cf08b2d0c786d1631b83197b23ecc6aa5300726994b2680004b531b600aeb208ce53546dc606907bc5e340195b6f8284341a720058cf3a644cb9c030c3be90b8b10c779edcf1ec0ae00e15245bf964d41ce772ce56e966fcdcd8cb6c7d040b1245af5d084d1892d7466d43d02fc2ed14bcb672ae14db8f2377ab216f24b519b9957e49a9ac022543a3c3630b1835a6650b51723ad4faf8c62cbe87b75246156696342cc7f6654750e226b2a38fb83287f50072030bdc6dff5bd7623c93aac277da9257d4a0e574d91e492c05b49ecaab3b6f66b12f911b81e4392b372a54ad567b11661d584598f0a407da3f68487f5a369a728b43a0650dafdcf58efe31db2e35d603d61d4b7c776c3821c9f3efb7ef6e3e720b267d3863e7a862dffd01b1c9320f4cf32759e22fa73b5f21361c63663bc3725a26679bf2deef3a9a56b90ebd844eefbccfc47f889944c1b91df982137b8172652ad984c9105787e6287423cf4237a11b5c5a65e8533e1611a80505f2a14872058be83d28d3bb1ad4eec67ba537e601da47435319d201e4e6e2706f8bbc3772a7ec76f570c2970761dd3676e22d0da8aaadfbe120b6efcb8f1e7d49c17d5b72f768b0996cab0cd136186645bed53d75a5238c90869a575cdab37b2ab1a0d77259ac6934b5a8f7dae100675bd24ed24d779aeb98daf1daadb34f10bb5ec22a66e432713c9b367ecd91298cbbbca4e27f03e332d93f721e0878efa9505b7a2660b64370d37bb7d0fdc444580608fa64baae9781ae018b0569ad3a238a55966b72b6acff803b69c15fba08ce425864a9d844dcb562999956eaa059e4cb98d36272ddb340c405c6206628bafe8c34a67c161f4c8d46459c610b08ba1bebc264ee672a9e65b3dc566899727d183804fe02224009a9b1708e364c8ef66767c7acf8049fdc6d20ba24c219e69b4958a2e0706128977fb1aad9a5ddee88f8d7cf3e890118263d92e669a44043b30734f5768050d40ac09cbe8d95cd9436619f5ef4185218564709cf92cf78f7f8a6f2b292c0ed08bee1c1f1f8037d222c76de1b8b5e721db60053801dd1e9d5808c84d82073d64588ad082ff2b20bd32f05e4e0404203836377b8d3b80cb57be27898839d4673a0b65c7b8ac8ffd16c1cda358c9b0a08d94f9a0dd1d8fe5cb9af5a1468f38f10518b21026e50a6cea7fafc7699754572e8df1990ede53f0c6f7af08e99240874bf1533bd3f597588843da30e3f37094ce562cba42e0edf05860089c09860a8e8ffd54ca587faa41f01c163d65bf92139a529752a350e16015c5a728bd814d42d9379e48d52e09294f6369336cbb32f721e1ae920e096171f25bbfa1f568dcaf9199a21c5fc1609c536f5080dbafb877250e4794fa19da950c9790e101b3ae69b92044024622f2e2d0f0b84efcc122b3760f3b778228c66ea7b2befc5184b9943c140473ed40ae3eda7d04711af25131363b8b559f9f6351d03591788532b6a42fa4e64677bc88573a033f59c4a636f7227a7332661869e77b7c6a79ed311f3d9f3f83ee1eef2a9de4c5724fc6633da32ff9673eba7ba25b4660814b100ec88a2db4884595b95a8f23ee5c8da2ae4be723e2bbe43d0bf691d2b460d9ef9e8163802278bb6b033b561d1f55c45b137fa1975cab9f8edee4e7ad1f8e517808e12a49ffb1374ebf75c980eaf5f42ea14a372fdbf62915deb5fab9a6b6d8f70f09ba9533799c8eb4ff41ad4d8e6c61a82307268d6212517e1689f1e5d49407d948d1aa71b3e55ac633d0eee0292f6646ccc2e56d4805ea1615b1c17a61307d611004b9340d3e17c86ef315fe7b804563ed172d33d7d1b3bd0dad38ff4648e3c7a5714992711069fcf4b09d360dcba14b93d72824fa9ce05f1cc284bb628c7cab64db8967728aea388d7d5b0438fcc0d87a57211cfc60b85c77bdf4cb3e9cd7c7a4ca1693058421c034d76c188e9fe10f83f47e82894f1446984873bb1522bccbdb1ed2111585b7b22d658ed18e272bf340d72fb9465591682bcaa71b4c0618f92b09041ff7609f4c3e6d0725c9bacad6e59721106539724d02fc9fbe325fd0361d9ccb0140c95589fdb29a5dc1cf21cde10718f5ddc6b32d73d97afbc66cebae652b5438a19239de89780da5d0f6946c3c372a590afa6fb1f0cd82904f2868cbee5b5ac6f2b2b6ef09de8cd9ca9f63e50ae0d0c6b1a21a1077da6816b78115e4de82ec86d63837f371e4ba533dd28db84a8727a49cacc0ac103cb98769c9739292bd651e000e818f079bc04484dd124f41d5470fcd8fd4f54e5d2f7047948bedb7df14a3b210fde93e29ed05d19c472467005ae561615d4f9b0503ad3023bb4c128c513a68ce6aa0a30cc5cbc1d8f956b594250e5141a1d73300bec80a43b595bdb2bcf7ca7bbd166cb045804c64b6124c972f358f5ec38c4cfd11e12ae6b44132bfb2854fd50ff2af59b38c17bd8ebfa667217d4e98bf89181370cce75300c290767bb3bbee37df8137b8f1156fba685ce720d611f24a8b018e848094936f5b15dd81825fded2d7d8b11abc508a26edcf872293d3a3652eed9a4c5322329efefad0f9bf41cc71f01c72010cf67af8a092c72db918c2cbf17f14dd59568d3d85d8435e73bb041084c607eed84489dec95d5631f552248b6f30e69ba2ee47909a8c6eab4754aa8bf650494831768c9ba837a66e500b92820a95e3e914ef649ae1f5eee896b28836c88643c9acd319a6280d672c6a2566909f4d1fa5783ea392ebac30dae34f86cf48a2289934fd953651619724520bdc7491a7002f7d06271484834d997c207885994c7b2f94db3676da69b7285966ee77b554ee85c7d69739f82d373ab18e3c796cd125d25f91efb897e455265cd23cce7d57a19474b9bf616100149b1abde999abc73ad51d67d62ec4ec8723788a0a8bbcc9ce2eeeb19e88ddccff540c7d76fddefee396760ffa6cbb08d5ee3247f80f8720cf9045bba660611483824429c6ca144061a0fc0cbcdff39d0723c8371691ccb6018ce659a10bd9ec650f3cde65a4dc38230e5e6e97f600ad772885b5f1fef7d8a88d03a4c09391895b7444153829c04853e55b31bbf43258b5f68557078c1a1ac6dcc29d3376f1a9cf454942ccac690cf8121b2ace6fbf4c472458e6869a9d6a4620ec6592cb14fcbe73f22e65b0afce4fedbd5c281337d9072cfa211e469ca50d40bd60f05d1681af61d8e07d3fb1c4839e6fdab310bcad6036c90d4d0bf1be5e822d3c429b57c73831efa69c62e733c9d925673e656879459a1fd278b93d8f2637634e7e000af8d1ef64c213ea376ebeed2c858d409a61e72ad90e49d6160b44244da2d0fbdb9578c5f6bc9bd891c7a8d2a56fa3d12d0903c0d839bc42f2d1a7e14b9c2b71a844f0ed3e2839109c0f7589902c390c2214a6a4fce3a2dc61975e769750d8059d394183824370b610db25cd2a5fd4c4bc295722fcd3dbb767d3bfbe6486e319768483d6bd23fd859c98837fc6106a512aee1559ff1166432fa859243cb2953675a24913c2fcad93e7a67020a5b9a07f992f0727587f3c1b36f14b1a1b217f481df250d85b1e9ff21bbcbfb628e450a6c3d946bc5317f906d52528820ba0d99ddf068a9405916a10633d76211e994b49a1a9172751075059336e77dc758a2d675e0d139d2f08829c8a31b842b3ba556cb6dd9304f998b749cf57e12f17fc64f69ebf28af68c39e4b7b1348cd658420b5e3b44724a0de7dd702517dd758f3c31326dc3e35edefee59502cde1d4ed0e0c9ab473721e1a25daf980c92c2d02f2e96af0506fbbfd898f26ad0469774080c16f009872a042a1b39045eb3f587f12ff6b158a44f4f66c2f0c80d27299406f4b77368172d119f7df082363cd9f298072757fea7f7217d60c9ba37e126c71e0c38fe6c472ec6303282d50d97b2c9cf4d50641a44181e86c3c4b5927bdce7480d8d300ab728d2aaa6baf70237550ca6bab1b3868197e805716d6d723873ed8ea2ff6e40172f22dd49abb90608812c45b6d8dc93ccb978ea75f4d039677873a5dc4218c111510be183972a4de1cb7aee152c556ff048f5b7c32efc33ca5dd48232b6afb4024b7a08f8a8f09d7144ede6dcc9a3debcacdeeba7f87294543c604ad2ffff59072840d1f63939b372666e8f3bbc7f5a684cea19ef7e5ee8fea8c9913a9d594126ef7aec9130271ecd1b37421f8f17c7918303130ffaff51551ed873ca255690d728942ed8e41cdcb7eced6667473fc2b570abf38f17f0cd6ffce9555de644feb7280dfbc530fe14c946c43c1f6e7b561e172f662dd62559df31b25addeae5908029f783e0db5c79acb59e4f9e6a602e7e58c666f0494710672fec76531963fb806a53a34c46bd9c4162f6944914865fccd1b1d13179bde6fc9de05cc020ebb42728cdfce4584dad35c901723d2cde49c9538ffa15feba89cb52e4d663f1efa4672c297434a90907d5df23d3ef93a2c6e4247976c635f96db6175e3023c7f024f72c5f206983d225bdb93cf99541afae81e18c476e4d5afb9b23deab3e1aaed3172fc0afbfaadabfa7ca8cab08820d9af6ff41a77796ca5d80c5b6dbb8ceef77f72923e0fc1857dfa62ccbe25de5d0bb124734e9a512abb7a70f138cd54ccc1e57256e5b7a86d37474029b885a8b786d790861d8563342f43a223613c33aed8cd72e1637cdaac83156b7040fb8ab6b1d9bca6a8afd407d73e9005dff4a6dc34b8104d556d9e86d885cb3cefd5e3d80e4888109246d5574ef1fc39e0133821ee1d72d2fd54492a7c644855d8730aafcd6dadecfdac64b5f6cde40003cdcab89b6772885230911605a81fb8821e77fc356439a694b65cac3ea1225d7802fd299cd36081673e27990d8b3df99fc19872d3e9b737003b6765ff7111018fac8ff28b420a247875505db29295c42bfcea59c32da72da540aaf0d224834083d097b7219772186f1543d94d6d87f5bd4297a9f95adcf9124309ad7d9887aa4437b552d217720d96f1f9456e5b1c32cdbc433f1992b2f16b008ca78e998c61d1f858600ecc7200572e824f7e933b2bc9decd7de34e9919aefc4f7991f71d8309afeaa3256b7280cbeec3d715c78e9587c8ada8537759e420fb3722797970a680fb9d00118a5b5f21cb730ea6bea3a0d88dc95f187a46ec15ff09dfbdbcc4c72322a6b10a23477a9b8cbaf685767bd9f24d27584d3a0b7f6bb153700142643460e2d61471a4651faa37cf1496ad2a5be1f8d9b01ebcf52b4967ed591d24d0024294ec235546725bb442d1f081ae7437c95f27a8efc376f8d35e3d4b9c45587a8714e772b3bd0f7bb3022320c61ab3751ed199bf84035a2bf00211d4d9c62437ec413ab4e9d0726964e8b3d8f2e912406febb55bc0e1776940eab17ad858da985f2ba94492ee4d41855be9a0319c9d5fd202cfa5d8306b6999a870f0bdb4e2694e3d562bb3225d3a6033b476b894f5ed8c762c8f376625846492395a8464eb4ef3f64ea0a30d729a4f129a538835fe6133f152a33d59b9062d6d94c1ceccc80f334f74b373327206ab6359da32effa92239f8de476045b40f54725484d6b133f60043a4b505172943ae341534552ba8febc8a95df1256d85640b8a0836ff92f32f9b3c825c1972143a7ee51111d87741a3b596cfe87f10c0e1bbf7f9abc641ad506fbffca64472f8bcd4de8f72a58f15073c36561d05abdde2b943e344d675afea188b7a3a007207670e78314cb93c27d88da3b55d0c69291fbaa8802c0672fc64d037edf6b462d0748da98462b26bf866aafb71aaff6881d90794c1ea333539cf7a0ab9e0d772a2b8c216e596920eec9269a93109b24e104a6455ffceec0bc1e47449e5554708f5445acce1f6d56eff99c2d830cb170bf79d012ecc65c8c3381bc6034be8e872d065f686067a3d154af9f22b0e34d27105e47bf2a2e8ed073b64505176107c727aeb1abd2272858acc47bb5535d559b14b91d84592ac13797c8340c22052fc198688061364b571e2a753ff520f1ce0ffa9262411be4a22a9eace4a55b50bbb1a246f51d3ca5ab52ece4bbe2003a34e20ca9a2dc7cf1e728932ba62aa9b4a0372254365ada967c9c82cb819117b545eb0090bf5bee3dec41515674796464ce472c1b0e5b04186cc3ca01715e567aaff5c72848af0aa441bae2a0eb160315d8e72e4b3f949e64048e001b4bda2f2b5e6bbe44b54e8059329cab14037e9d10f79721c1a1b363dbae06cc8311a68fc2d82e16892541815e80a0f864a150dde82cd7221f074f342f0c2bc556c1457e9271e13263f7b1e8de2998e4561c44e90c66360a62b7f7576d51d950a61f7fe240d446de165eb8add4ad6f858122ebf2b145a722325ba092234ff1ac3bd8ed3a99511a6fd0190f7653614e67c650a9c9d32320be2504aed2bd27d6a478e8143497879f8b982e4e9ec40ca193b320e8a13167b23288e52105f776a1f8ddae9fc44cd033c6ec57d3a88705081bdf59b08af63f57285b4ec7a451a7e9a8e16d38bd0e3bdb6e606c4fe08749b224b566c12328eeb72a137c10d4a83069991d7098f2b40dca66b5f5d244c9c7faf2a51fa9d3609ae72786db23ac629b1c7bdada96208029d6f2471725da23f84599cc2f6397009f131c3dfe3d9abe11251fc4367123a8ad6c2061fd02522d9be58845b5426a38f600803b9fd8c5d1570cca891199d1a810178e11994b95d182ce5b538d6f376e61672511453caeec266786f95914ae7b7fcc6f258898e42444b80ce2b3f960fbe37720540ea9f14fb17743c3fdba9aa00409a6d24344ae82885f7fb05e5218556c76e1c39345c5fe8af2e3b8b17ea0599bcad23d1489d7f202a343e50780dae6e7a1c6553574491c99d96c7ce0fe1bf28af881893ade044071bfac1ec6e9c338c1a1aacb6e089500ee541f31d984ad0df8b388c6f31b935043e715b0454b63d3fb472eb9fff083f749d866cd5163e8b5c895cabc0d33da2cdbf720dd78616fabbd072f4ba53b9e3e64e43efc592558af7998871569a220eb90a356dac155a6559ed20458d2ae9815861c52780859b7e984f9c3d0dbfe6f2f2f7a3c9d1ea78d268047292d97842521927aec0ba49e69cf54573d51cd9f9ff59883685fea4c40459336ab950225fd7caabeb4e442be288122de33d50846d5fb57b697e4a35563f6b3c20c9617688802687e508da6e143fef8763f8c82ef33a1106ab92915d609e6b2701aa9ce393fde84742befc0d18f91b25e2c67bb3634e850da103f54d7feb9872009ddd250501e384159dd9cb71e945ab30b5e45b9b8511fb60310be84c69b11972adcd32d2179809be3fde58fdf1799097b483e348455c1aa0ddc68a1f18dc2926e5f94d318adfbde181200423f5d33fa9315dbc002a6437903a07f5ee77e2de51e18502a46db9f5b15d0880cb8ff5919beddf6c4820237001f944d6ffa72c9b72ce0f50186cd91560e61979548def38396f1fc3d3e83d69dccba4e9f97fe71072245b309d2b2d1f12dc35b1c317c61f14f8fca27f5b23f142a77d847dbbd9ed3b7e16e3061358fbf8924aad62088cdaca924e541c22be7f8b315dcca33fe89b720d96bfd4a65df599c1e82436265663db6613e6a39804179515471e5f145909573f904c747c423e0c116ff1a0d1a4b75bddcca9282d245d22095babe004dffe6f5bb054c972ba2a861a6470298c21d8b08a571aa7e2f0fafabe89dd29499f1b72b55f7e1b7fbc33cd1bc8b84c567ed668c314c9a7c0811a6633a2fff999f4587206f542ec5bf8f2e47e2413e6887f2c6d6310699112ff51beec9fcd8a7098a772f627b1e06b480f83cfed52e05315b43925da8684085d409f179dfaf130593872b6a52bb195921720f71f8141a276b36aee3bcab8eb7926601a8857e74d1bf272052671f67fb5bc713d6d1ac2cf3d9148f8db7b266464bd53529e72d049caff4692acef9c832582392d486c5648c5b03f162e8d37dc76e6a0716c33cf83143372d1ae7c0a4d1f5c2b6236eddecd05411f9066e89132bb11bfe22f0948fbe32a72cb87d82a51164d19daa18c7f648eb83c97f5d5975b1cdf7d16de9233b6080c72695379157f23d7a55b489fcad23a1c1518d2e6357aa672be4877c13fb23b900b53327474be6d2a677f8d14a4baac6c47eecd9c7373cffcc1323547a1a7993a72ce105debb0ba9761ff8e68329965df274363547cc5a98d1971b38896ae4b797269ffa5998eff53c35cbdad337dd298d2c869709f58507a4ff5c53c4b4b10fd6a7db491a99caaa8fd248cfb980b7861dddd6ad5bff492e69b2c64c91cb555ce725bfdac0b1df812a83ee24f8abda2043bc29e767cb49031b1a0fe8ecaf2559d72775a3356403f9222ae864bb16d310e293a3ab56af5a86eb306ff6b459de62b72bd75eed546663e71634602cbeb43933620de330f5fdddcf7d2a54df15acd8972e40bde8e53c5ba3fcc54bd70c5735d9ee479dc80da366d38580db1fb3e1aa072e240bf3475664ab4fc31404ff7d27937a59ac49a62902853cc4c60131a386c062ee6a5de325e2d5a1fc48a15bddc8ace1bf533060a9a944729b3582b382e2c725488a5605cce2767ddf39237c813866f4ab0209cbe4f13982df3dfa67d551272360f1df0e227c30c19fd0232d685b1d3dfe2ebcb3331d173a18ef301b83c104eb44d4ff1d39ee5a4ad580652b700fe246015a1929f1c8f3a6284d9f905c84c72e0762eb8c671ebd50b9159c6f16453773f11eced58006c58c1c6d4375c185b1973725e4cd7a8804df1481af960f513188a7a744ddf363bc1c6d24c65746c3572325ba5492d1955524cd2f75b3baa5557e10cc10839f0e680179ca5ff3edcc9721eec830b348681f7d79b375f7c5c103edbd1b29941d7c2f969581cad9fe58072deb0c649d2177a0954e7c677f4c9df73b8ddefb02e95313d5a0dbaeea12dd8227f9b8462643d0df3a4b8782bf35ee6f3ad56292d245c6f39b16c0128636485006797a96f47802ece06700efed158c444696e2fe781ede23b24f412c5c66bdb05c9e0f2157cbcc691946935fc220a09f8812e040c8b9199f0744c8631c0078972479e2e64f3810b6f5d23d949a068f847133fdc6c0a67c7ffe7cc8beedd53fd43aad5e82869e4a421790e6be2f107946b65746696c4ba4f2b8961b0cea1ae2f6264052cc0e13311646709a5db9a88e6b44fcc87bd2da2fa2f9de83789ac511c7235c88f6d68c5b4cd7d03e7edbfae879031a05418cabb40de5415da99ca145964753c4e8b8f52c8dec61feb02f7bb9663f36d7eba8dfe4b685789c369db786b726fa859ac1023780c0d8ae2527402d92a9b2bd3d5de8d7ac7ba4af548d3c7497206054e84c8231976b102c9ee9513c8534c346fffeb04b3a22265b124d6482f56dea63f165301816c717971dc810ef5007a25ec41df034a6fdf1e597ef240ca13be37c807ac2b5d48d32caafdc3701b8a9df18fae2e518cf51db233c27dea377228156ca38ef261d6594b7a74d69909eddccd2b4dbae8a05d5c4b9050863e82195d85b9bdb3236fe86db10227f842e35522f5ea22bca2269dcb4cca9932ad1f72085c1bf92fd90cc6f9272099e45adaf8694986f29ed217a17ca031f78a49d2725911d8c2a7c62d2448ef22ccd8368b53cb96e7febfaf08cef94ef06d8176f57258b19bdb2ddac5d47bc37fde5ff95519d8128a605834cea8035f7f0c01642572a0c46051c6180ebca12687bdbf24985049c13d9dcbb461e795a0acd9f635855cf86c86a5a86eb0e5706311c3507938b829ca2e52b6836294eb43771479129e728240adc08bd08053d2186a6f68c1eab70e2f8070cd7758d8be916402ca62df7255ce09423e7e44c2f1a66773b9fb749edf9fea960e355edc1e0f18bfe22ef172bf7a8c7d2c9f61ca4ae490d096b7167a7e8094f64f6be9995e618f31e4bf6f72314b9e452244e8559589f9d4ce42f18fad41b90345115c3117812553a7a3c94a4c732ef225cecca5d9c6bb421df6058789c8cee9354a6d3354dcbd6e67cc912a68500ce20c9d296e62637aa9cc9aa2fa7185c1aebb35ca9abcdf968d2b2ac45fa016990cc15f7c94a0f1a5c488a1d08ad78ebfbf6528266e0e5ceb62cba29b72e34e4ae6b7a9b566c6d2a374606a8e890e7fab0a5d994f3a796c85bdf8d64b4b89a21511a6d7e607fd1aee007ed819c710335949e590b75e9d36c48aa273877245233a445a4d8a109338290abd3c8d2fe2411d268518023376320a29c618277216fa28a67da45db99e3d381cfa208f7c703997541aae19e5f7bbd4283187287219fc522e3c125047cd5db09b0a7b062699cd2c144ca6d430736f2e142cdceb223e9d154fe730da99e145a0f7bd808071c4e1d6fc14547b4670242115d169d472ccaa3973ce0ab886c27a5155755a6edf07aa8709a974ebf47b78c87a6768e31e8333e668c7affb5d0cad0dab2f9542612e5cae2c72c55c0d1f10102c7c666f2c379fd5ec1b909cf522bb47bad8de37dbfffd69101fe4b9a3750da2b9ec1527722068ebc7283787b1ed64ab398d80491531c31c57026637059f31d89b59d3b5721e7fef34dc82093d903c64b40d20ce2951e0b84bee5f21b4526f1eed63539a0be62d5f1faed587d6d7f6f160ca84f98a945d3052ac58e9b7a136d17ae323733b017a65d1d1bff08a5444d263a7241a2c0de299cadec3a895df7ed3c48f980c6e183554bdb0b42694339d7503e08e146301a5572fd5e4de5802d9e46a9654887281809aaf3b57875dce2c0fa0b8950d6f28a569c67d85d192c94bf8b7239ec172d547dff8658d3e4f237f906397c5419df40f2a3067c9a67fd93365a8b20dc3720a2a38646a5fba7452b22f6e29f8d7a8116eb48fa58d658794387f6515167821d68b1bb0602c01a1361db6f56987ef798262e7539e0f1bffe8adc5c10d26e672173a3280c2cbfa03869d2497679df47a3d930524a33787ce4b60be94cf657672ff19a2acdf42b1fdd5eaeb6dbf7de7587f7cdc45ed8bd3079151f80c073e5e72f75cfd64fa2b2af4ce86a3e74f91b1f161fddc640d80f01cc994c979adbac072111a52735999ac47cb5ff79cc286faac74af2d26dc185f1f0cd2b60a97ef6572008dc7a8fa82416c6e986f1f670a7fb51dc5341b7cd6ab29065320528c4b3572fbb00649ec63a7e5c1749d1765e00974de35191b7000d50032d08fd3534efb1646c9a6c0e491086e654e954e75b4cfccac7dcb8cf48803463e349c8592520a4547d4a5d56097395527fca6cdea13a14bfebfd1f1f269c3272ee7fb319273a868471cbf78180f4cec601ae91e3b0a260fbceef48256fdf337bbc234cda2c53572f1bba84a8b407e53397e51891961a32388d6380e36080ebdbeed05c4fb4a8c4b4afeea157646f4c00974d672f5e2b99838eee829421314f46576c2ebe3fed272621672e5a0b47ad08ed27c87659083686045b7f48e28bb2576c80c0b51895a72e529f30d6de464680ddcbf263b622fa16722ac5dcd8c747d70d82e9734c8637237e7fdcabfa2d81150327064d3a036f156f7cbff3ae446317a711f397023e972c72330acc6ea3120fb06d167e7ee9f00e8e06e75e3dbd30e550086dbff9aaf72bd2d4b8a0f7a0e88542f7597d178481573f2135f77efcbf12da58dc141a3f47245bb26b13615c13bd6e8ac3a76452e1c4e7be676daa3c44bf6d5f2fc242b2930e3605ccbd762c4ec1e7facc11fd5356ab436adbde61e31b77689fde11a936f2213dc53d498819c00fe83fc5ad3ab42adf8735ff26d7d8eae6728b19f5ea4237202015568f790801e29cbb28aad8106f51bdaf9422da47c6eba6fd82ea26f207229ee1fbc03ce639b1342adb91fec9555ddedf1dde1eef070226be286115975174c0ff058db722232b0099133346406a4e2ce9cb311c65461a8924588e94bf97049b8e6d36cc7a568704028275101bfee309dc3d78b0e4cf310bcf7a115df3b4449df616abfac742bc109fe76efecc9e19a7293951b3d798642cb53a827b50b7240c66bd71fdb488df0b3d678a0a3b6b08392b2b5b7a01367bd9cdc8b32c50746c2e45d75e5fadd3ec75bd727f1c3b58b53118b6a7b7907334e5e1a2b24d2b572253781b6b934264a5c4925c60143cf6b272d4de4282dba6f0d1581b2bc948a72f4cef4224f62ea32e67dcc17130dfb848076d7528739d5251af776e73a6e8623755a8591f0e187278a27c10427f400c6bbeebd8a9d1cbd132b15fbca953d9001d68999cd8b74cbd7d911fd8dc8cdf83d0cdfe5b7b1ed89cc435c73eeab38a272d90f7de4534ffcb507382b15b1861b2801ac14c12795d06cc148f3f15763c8724d2b3eff3ac4b192a9d4e4b0f700d38f791fe0fbe242c10197cb5bc32615f543d13f48dacb8ae1ed3891f5697039f820d521ac2578060373d18d3cb3768a9a724ec8666fdcf611497a9095375596af21e9d057c1c74266c961a2f0703b8a3d638edfde971e718057108fa5397e5d439ef33425418f5a86d2aa4d2ac874f19472917f041ec53e9c80de19aec9014cafcace6f3a7910233871ad912cd84f59da3b277ff3624ed9a54df8042a033565c43ed37eb48e01d7233211cdbc2343c598721d686d03b1532e5be1aa704833681cc003f8853008271c58f79aaa368e1cc51d6b8d5fcf6d265c0bc12a7c8736db5223356908eda710a6afda9f62b1242a5272be7890a9de2a3d5e859a945c60248667a07038e9f8b5a53c3dff468d582108725565665d395203b92ace207784c53934b0f9f278bff771ca6d420787fd037b7229b43d9aecafa2770f104c77a6c3899693c376c82d704f8d31925389f20c3304ff76de54225c2d6c4826249a617e8cd12275bdbbc38c0ed97c1f5512b34dca092d74c52c6ebd128874e2bde4604620a0106b87932bef30e5f70c5baff8229d37d77a173aaa056324faea24bc1e8c4d95f7d7acc94891f9453f21b8813d788b720ee60c335d61875b4e478482796e8daee6b91d6e9e2faf2c788fe6a8f76b5f72a14a390877ba0239e3f60965c9559ed95ff0668095f0b96fa12972b98194ee7211263a766cd0b3883b2436111cc1b01b200361a4be660e92804ef4a6b25e04723fd3a7c5a502e548d7f57cb76787870b7f5c02d66efee5182da3c8005ac3202621c744f74c8522c618f4ebc2216c1d0915ab06c44dd420455cc89e517d37df50b88bc3da61042c8dc8a30e89713fcdfa5dc30b8755dd5fffeab7c83f3dd3d5728a53d9a2586789570d1eec14dd6e5e72f76fbd33deef27ba97763277d8de00726d13ea28ad64a0500b0edda6e19f16d831692d8bad2bbd6077489a15e309ec53cf9251bdafabf991ac5ce7059116a78855015e4413da1e7d7667a017d9ba1c72ee6a60d91aa6d239b2dc1086aefa344b3755fc6b018a20ba1b56d144c2566c721f3fdd2686b55921ca7589543cb1ccbc83141d5aede3bd973cf83521ac72c32eb9e25c78567a0b0c3a04487d120af648d1a9c16b8017ecad66c7121f185eec7235c2896c50ef6d84dbf20a6dbd5e1be65685b0829ec24447ee9b0f91dd649825083602c1f9b38671230ac83eca9d5e4b339e982e90500cd4ba23a6435e2cb97222c1a4c82b26751c06362a29a16bb43c19b11d6bde8d23ca40edf65238d56472ceef319470f9fbc550a8e3267b01c4fae1b1a5f9546f447ff57ea24d6932b37220bef66c1c2c0e0d19f4df997e9a825b20c14c735b33c3b08eb00def1b26337271782bdbc4acef327d65ddfc9aef288aad517d4c5b244a7dfe2100f89b4d5c727486ddd829ffab487349bb8bc47b6b097dd2193e762feed26d1287b17934877253e2e495854326310ebd6f98d1264d6eae88935e2966aa9e9d24867d35b8aa38911b5f6fcfecb49c3a3b1d0256aa4f64d834a318c87e1f6c2e37696b6d4fa072b81a64c35824cbc5ba983e4850ab3adadef97b3dc8d843d58da31c666e57cd72fd65619b97d5881d817360a3995de611760e9df30b9a7f6baf7422cd0dffc0725bfeee514b67369f0c6ff75a6a179999053c5c9a23fe27be70be40cd2fb970723bb95eb67d15ab6d041d69068947ac3e644ef5ce11a3dd22777387b068a49312ebeb101c80b019703b9ffc02dbaa965c6c15d2a264524bfa35662e99b26fea45186577dd9d0a2351445b790ae300fd9db5cba1f1fb2bbce470fa1b1a7e9dd872f89468e00fb30793f19c49cce568efde2112fa1d83dc5916af373abedd1c93297b34ec5f735b485ed4888e09319a73eef86a687540d324465f9ea3815e9b3b720dbc9a0ba072a75c447e1623236a8b9823bb89e2c82d0ea6b6809384329ae07271cf5b6d4be58acb3857db4f4cfa663f6f736d43962cbb7230eb0a983b87480d00267c508540429f1dbac8bb6f0e5c1a06ab338c0c8a6e8200520ea647b28c45b57764611b57e2143aad3c2effa213963b7f7fb385a9ff005a578fe36c8b374f16718bdff64c56cd67c092be7f5748f94eb2170ef9ab4495d545785b5bb77e52722048b888ff3823b2a38bf9b3522875fc16483cf1e7877e827e094047c09172ff9bcdc161c3b4fc35d7e67cf9531d0fed9bc50f0914ff600283194715eb6b4c5f1ecea9bfcc61b7344832150e6cfc1c9c095424e23de92f1ba7e1cc03b3f672a06d3d07bd4e184f52206237400efe86b6b635ed40c4cf80ae03b520dcff1272d938e8f0c4b3658b9275ac47aa5d25e71f3839f92ddbf110b88a3eb54980cf72bf2b4902b1f4365fcbf735d920a76d3d7abce37699d62495c405c8b7fe23cf5e0977c47d462dc460d91834b4a0f9233229939c6f6bf18a98fcc535f6d283415e386d07fb73387bbfc0bee763a732c28aad821bd28e886ee1faa6301a578cce01ac1c84484f16a8f30fb59b7b820c7de23b33a3f47886851dad145bac2d808272bfb435a357815cdde16c12c4f9bbfd080bf9e712dd54bdbf0b76ddf133196372d196221f2d68840f09044d2b3dd8c450e0545f9c80a9a75a197e8afd0ba3c363e5eda7709ceb943441d7c871a1a61f2e140abb91f049513996457aa2cb132c6da6520ed22581a0490043a43953c9aed29eeff567447fe391caa83832850d004b820b087cb16d3d86136a8d3912c1d38a647a44e943cf208867919506e08e48722ecb399d4cf4a423ec7a287b267e6290257cd07967616e43505db585ae4c95724106c1ee2c240fc516050ec116bc3751ae9ed4cce442d04acbf9617f196c3f39882e204b076a13d8a96b3486134c41c5f8c96a7ed9522581f408d7c45fa6a2189ca8fca7b19849ad735464f772cabd59e27cd1edbb7579def96833f0c97a11720d55702e7a4ed987d8bbeed164c4ab56d95054457205708d8d52c82f120f517275383a99b5ce7504f0e3ff3b01baece26870c8451f8a63e9f125dd3b2f9dd766505583a464e4c689ee30f0c98df9fbb8691566df686d2fa665ce2ccd58f29559ec075584d0555d67a3e2d47019f084a062884adc1e75a05e8ad1bc17708f0072f34931991c1ec16b5a18a3913138e9da5729c3c639f7dfe3fc953d3a90596872cc9e674d539bba01689956f2eebc5c7ccd3ef97ab74e2e3e8a377d39d7d0465a9bd64fa7c218cd5fa1172c2065854ab7451333235d4c2625fdec842cd7af1762ddaba09802698476483725a35aa2f49cc35390254deda29e4e22865492a19272a465e84e74f8205f125d2ce40380479891f12ae9ae2c6e15190e63a300c10c43254fbea081633e501643d32a3808c3e28507ba0721dc3ac80ee27192f0bc54721029d9d0fac2387f66f2bb699084c661f6dbbfd1c3aebf7031f9b6d6152aad03c38f6ff8503ecb99a165d0d810e989ae8bb807ed270623c705bf4bed5242f872fcd90bce7a521760a76d6fdf3e1ed5bb3bf886a50f870376d69531ddc8db18"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x0096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0x01a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0x02a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV5",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/osaka.md#engine_getpayloadv5"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "type": "object",
+ "required": [
+ "executionPayload",
+ "blockValue",
+ "blobsBundle",
+ "shouldOverrideBuilder",
+ "executionRequests"
+ ],
+ "properties": {
+ "executionPayload": {
+ "title": "Execution payload",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ },
+ "blockValue": {
+ "title": "Expected fee value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blobsBundle": {
+ "title": "Blobs bundle",
+ "type": "object",
+ "required": [
+ "commitments",
+ "proofs",
+ "blobs"
+ ],
+ "properties": {
+ "commitments": {
+ "title": "Commitments",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "proofs": {
+ "title": "Proofs",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "blobs": {
+ "title": "Blobs",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ "shouldOverrideBuilder": {
+ "title": "Should override builder flag",
+ "type": "boolean"
+ },
+ "executionRequests": {
+ "title": "Execution requests",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV5 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000038fa5dd"
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x86e25aa4267f8b11aded591be91fed683d2a708b7c77a910ed9e18ab6a2f976429811ea034319321eb06d99f270137f0",
+ "0xb0e21a34db02b2dc360e448c6a7315cae1c455cb234fe6c4a9d74a8ee45b8fadc1012b1b3d07912c692782cc642ad200",
+ "0xae7b2bba4d5c6e90609182319d5182c4a9bf194420cfcd88b71ca35f5c56e94849510a39afef43234562dd604657fe27",
+ "0x87aa48a6e5e3bc244c78f61d73d6c56981e691aae27976af87161d606eeb6ef530be60b4e47906b29cce6c38287e3f9a",
+ "0x80aa73320798ba8e5eb4dda65d644566baef3d8ed6b044aa9f8b2847912f48f0b6f347a2a420e7988e08d9602fb7f000",
+ "0xa51680ed2b9df881a450dec27afdfebbf413449b1add1615e91df7e4724dca791bc4840a67fdf1362e14d537c1849ea8",
+ "0xb71f1b3cd9ee0a04950f49db099260f8955f780bdb13681804b0a5c4c3f7600ed228b06bc26ef47c0cd3281229888491",
+ "0x8e199f56faf53b3e409eb337133ab166eb340e450597e36bed68bdae1903fb7dd6e94abffcc439a1f0e230eade7b4e3e",
+ "0xa493d99eef20f8ae68f21de7485b35241a04bfc869fda00433ec8d29472dd431f876a40e5452f37f54c5dcad084d1d06",
+ "0xa85b29f2f1284d8fb9dcac7ee5b2b0722c3152a0206f670d661bf05aaa958851554799a4c77ccb0d26d6afda7a777a35",
+ "0x8c8765ef425e827627772a4788fecd657e2f49b10b21b67bd045b0b7f4bc8dd16fe1f24d1165e6d17355188970d3be02",
+ "0x825f8cb054b614692fe329a99f6c796458210876b928e453e337438fc3e3ea149a0f8a748587014e7bd61fdf0c67fe53",
+ "0xb4a020ce8a9b5446e327f312bba666e7ac64b721a49d0729c7a64de70150a4b6285445e3510bb159cc3727dffdad80dc",
+ "0xadfaa120ef4beb34e3e63aafbc2e278a2298712d45da0076ea453a94424b2418b0f3e32d56f5b55f40cf4060ef0300e3",
+ "0x85739b3691d1792aea016ae28920ad0a536cedc29c7970a38312a697c2af76ecb6d6a9b1c324a92e4a474eb97fbc2e10",
+ "0x9182bd44f5eeb8b68defdec6fff4306b1e4163e936ea201511125163355d5847fcac3452896de4edf2820b651dc556f3",
+ "0xa3fb3d89a5bf575cfd441984b7c43d416f0f37f7120438d43b07907bd114d7421dd7b09bb72aa93e2a3efbeed2e463b8",
+ "0x9954d156dfb402a786659b38f97b95e20dd7e3d9863ba8c00e24e0005869f6cadfb642ff53b36aa9d177963af1a3ccb8",
+ "0x9362481e998dedf85e71e91be5a69612356f0fa6f4412c6e0135bcc5acd11c8ec293c4de7b732feb1012cc5966c66b35",
+ "0xb82561f0a3c9e27af7818876606b5fa7336b68942b0d8828785088e5ac3262af10a27c2a8173bffca5e1b2e226846fb4",
+ "0x8cca55ee5bf0cf40d203dcf638324818edc236d4362d44300e62b384ef63a60979616acc11190caeb54fcf6e7fc6dada",
+ "0x869b905cdf5f8011910a4a1f51cd807f78a99af6e7c8c49f89cfb44c0b98192815a6fabaa5f37213f7e7b328deb761f6",
+ "0x99de2955902ffbcaebe1597675971a7c2379997b1837eb108725b892190fd69ebab76579a33b6511553027d533c37a87",
+ "0xaf3a70699c8b8f56ffb9a5162fd5db927aa5181fdfb1a0f34bd3a56a1eebec2551577407d4c2dd559ef448ee43b5601e",
+ "0xa094da1fdb7087b566948b0f7b341b22789ac3b68f52f59a8f2c37aa8bc668bcc9cb2c3ec3c34b2d176c17d76910b65a",
+ "0xb6dfd926d2d34b7c18a72720e149f376bcfe0a1ce3046db3a62023b0a322631f44f0e60707b47e378d7a6d1b0a0f3b90",
+ "0x84397d78f9cdf3664cdf632be52221bd85126455f0fad51b7c16d8ce20907d208c3e525a0eceb73826ec1c2b7f0fad7e",
+ "0xb1c728e3e0800896b6ab33fe5c7bf2242387b19883e982fbb27499c6bd160c253f03249a69ba208af7141f714836d226",
+ "0xb39027b971f1a9883d0e32d5fa1b78e848c70ef303fa3a1dfa4602d1ba021b4fe09ff88952c2daff5922a5b40c5f9cf4",
+ "0xa226dac589e35af5f046bf9b5e4d5c9b20d490de45d7529d7d71767f8adf2c65a7ad0699d3e3c1bf25f6a1518107affe",
+ "0x828a0c058a389cdadff01663ea7dc13eed1ee5b0c98b578558b27479ca79b31849103d0fd037f074e4769b66f4f92d39",
+ "0xac60270bec8e7d94f50ac2ceaaf146328717144810983e47a8e2e9b56d8e222a478da5c3f9b9cbd37822141b2d153cc7",
+ "0x89130390f58756df6d968d0c5603adf16e4f91b2d1be5496c8f9fc4097b07132986ca38bbc30001523a0cab497d4686d",
+ "0x9793e67eb7497c13f29cfdc71ed41afc8dc32030e2cd9022472e19d4f546218c698d98419a4ae87dd9cf7706b8482a21",
+ "0x8874f9a46848d5125c7ec6364238517f6c4a92871af95d20df06c09296fda06d70d4d580714f0612473264b41491ca1a",
+ "0x957c13c871e1e933e4b6dcd271903c2832a1adedd9943b5ab20208974f23902cd5d042dce5f57283287c5d4aa684a5bb",
+ "0xb4485bc545f2cb2ed1dadd336cceff81f60b6bfddfcaee2552c62c55451a753087a732275ce1a255ad5e17dd4f474a53",
+ "0xa1ca4f7bdb69cee6d3b1606a1039b1153e2f337aa1c9d9159c5837421b60d6d5816df853d7e626c09ca65bf3038d73fc",
+ "0x825d5addbabfd84e3e2193ecc6c404c5b98e9cc362759963e1dede1b8df1a34fad93e5d21c8ddb881532aaf1c43377df",
+ "0x88726caa7caf5e3ad676b0a19a131d8ce312706004350e822114d4a38fd460176db6b839ccc6b206d89a39a42cf421b4",
+ "0xb867bfedd4b880d7534634be08eb2bd5b123c630ff66048d14e5eb14de5598163c535b2441821cc0ab430e9cbd19edb0",
+ "0x81a16249eba683ff215056b0ef3b36f35ad94e7108fed53bd2bc41f8365b974540d93d650b5e92bb4e3574105b20f690",
+ "0xa34202c988aa23dc3b956d968d686659fc54804b81e2ea9dab17b5b34daa27c6c6b93fd7787683bd926ad9d7c0189838",
+ "0x97410ecdad067ba2c45a6bb02a600cf53ca5adf197c79a4f7d753d367615ca84a6fcf761cd22b735294da7f1436a8029",
+ "0xa65339363cdf8ec79a17798b856749576c8f227e2a01b88b68acf8681e0b0ea1d7948467f6e37b7da8e0d2a6a940ee92",
+ "0xb05c41255daff039227a868b0ea367cdc98391d15cd6c7b2283f7d6f8a34e43605df614cf54e08cb03d398bd0ee01451",
+ "0xa3b9f379860c066366a25eb19e4eebc07d7c0aaedf604e119c58e922cb415e01d1a4a6c7aa31d298b185ba17eed0d386",
+ "0xb1e233985ca29d71672924b59f128533ccc18c0a4277848922bce2a2192724e49c3eb092acda033982da73390deb8386",
+ "0x994b88ae88c4258609131215527d8627d78e0cac281154a078480f82c23c53b3af85edde00e91e28586f0344653b0e07",
+ "0x8d7c5faffb81b211d8e5b5504813cba99112a2c7ffb98354590c3751512aebfb6766f0a31470b9a3a3ad437eb63daf6b",
+ "0x92f884d9aaace95a7245f9e9e4d2b13583ee9d2a1319ab1144e7f7609043825b6c90e11b28e3231e894294abe3bd9757",
+ "0x89fda17e02325a9efd7e9eeb58806a06108a9e3e8cfc88f154181b12ef86f8acd7578446f440eb9084bbfce19f5845ce",
+ "0x84e4766c08d0cc41e064d70b1eb6795794171fda12f18d1b5bed92da9be8d6942e8bd2252b62190b7ac8fa2a2463de08",
+ "0xa82bc246b1ab17b5c1c0cf4b094e6360f3c45c011b58f42ed67cf5315ee21e9240f95c6cb1575708dd6f4e2ddf910415",
+ "0xb25a0ec2b3665d6d9b6c2624ec78238a9b509bfa7e8f8dd5950215544a5dcde5eafb94bcbd808f3fa42eecf7a7cb9042",
+ "0xa26ca2b8ec55fdd008f9bcbd9544e6bb207fd7d53cc20f3c999cd172e87624e0fbcf17aa877d525728ce3b3466771f40",
+ "0x8149be780972f66e77f04d2a13e45e261ca524f8b606e89acce87b239e7271303d564061eaceff906647859d2d42e5eb",
+ "0x84b7449c4c0eeeee21faa9322ab6ca1867f5750b3a131c53a99253ced17f38952ac4354b6803992447d982f4d78c5725",
+ "0x88ff8542284eb2ab763f0f7a8575bf3e8df70486f77f2a4e0586ddbc868be3ab55b5de40266a27728f33c6a3d65ef021",
+ "0xa41974b8af2300f4bbe5a6c216a43ea843e73e1f5fbe75af4889b839ec4efe526afe135f6eab6527f6259265bcc5960c",
+ "0xa46b0c84874f8c68332f0e84a0a79faafc388fdeb042ec594ee791f404593e351c81d99250fbf89d7f546c8723d93e54",
+ "0x8941103d53775af3471041e919d2b04381c7b784bb09162d9b5769a1eaf31ef841a8d644acfec115f31aa365390bcd56",
+ "0x9407270997a076920807ddbf649989d4f23995e50737e1ec59b0f5c6872e4b00ea9cea6e0db518412c07dc9ab8cfff32",
+ "0xacf78c7277eca2556a7a02bf073e263dd76cc893ef34e2a9bf6d863d1f31380d6aa3aaf84be391b7ee67851e7e3e2a51",
+ "0xb35739e637e29da4fd97f3ab2f533d6552dc4ebee0b524acd50df904e859e277e30af51c03ea25c334cf1fdd1fe6b7ff",
+ "0xadbe185db253b31833ce4c90beae4680cb5f2aaa7e9bed5ffbf70c7802f7cd225e9bf4e1f981606ddbbd7bfd0d8d47d5",
+ "0x8760da810a8bc4a541e1510a8aee88ed68ffaeadf78f845e2ca81140baa9825b113b737e785c17466804be37a9087dd0",
+ "0xa5f7b22a49b72be48c58fac7f6fe16ce1cd460e6b099ac8332376f0848d9708f51ef5ebca969f88bafc5c0c269bfab7b",
+ "0x93fa76c091c53668ab655f95df513ca9ae396d401e87550fb8f0d12a99093837c0d56b263424145ac151d01aa508c561",
+ "0xaa98b749610a2ae84e90e439baf19941649bf6ecd95e33bb9f5869e4eab11e545f7d18819fa258b082aacdd90ff2cca8",
+ "0x943b478c84fa90232dac1489c55595d3ef58f3f5c2a251752faaf5da156da1bb904894eeacdf4738d92a77f20f47a3e7",
+ "0xb23af40d862c4737ccf4f6e5d306562a0f2630f6090eab77fbbafc467801ddcce31226c24bce3e1093f8e4a40c13f61a",
+ "0x894be76919ef1a047d420c8711d2b006bd7b74214e8793eeb72dc007ad8051750a06b06cb44567e0e9aaebfe03d7a6d8",
+ "0xb5656897119fc6fc298ae89cd6ff817aa5db9f5bc9ddfa2c38efb0f8e63e7821f29a5b5b2f9cb4ad1dba0f42166636fc",
+ "0x972a25868d4d3b197c0d1957a112859fa67a582f755d106e4376e90386ce0ecaa671236e92c23361c01d11fbed4ed009",
+ "0xa7357c970d0b930186f73e098307d3ff229fee5d7c4349797ff4fa81dbee3e03bc01228d37d9f4d7510083bf094bcc5b",
+ "0x8e0b35320d5434438d7a538d5d30212c234b1d7a6e757c8cfc0988122f01d7307635641fed9b8853d58b7a33e5a5c9bd",
+ "0x99b2b7659be9eea782d0662db7246ba6ff4926efe58d04061b39d5ed38fbfc17a195e68a879448c931e5a1d9ea07deaa",
+ "0xa185a1182223e3b8d325ea70986007697b742f3af0093bf5691aa12ab85cae941bc83f27bd6ffeb669f244011e00e85c",
+ "0xb70b9416f6b9593ace7393eb51a732a05b6e4b4a104ed1860746740ba3776f5ac7242c3bb74e07c89abc637ddfe42434",
+ "0xad88a5cf5f7c5384a219cfb4c574177cae1beb0b53ed9e3a4664425b0dadf089eb8c1fdb5cccaf53f568c7cbcbccfb7d",
+ "0xa54c98768bf964f1c70212a3c00899c915639af499a5013adf751e3d66cfa467eaea8cba94b5d18e77750ad15560b46f",
+ "0xa6bf8d0fb3423977a524325f8acde7076c17176a9ee34d0d8450f765bce1fa09a77c6c98dfba566d4c5bbe4e6051537f",
+ "0x86423129a9e19c09d3038eb463ca4400d1d0b13085b98fc5ada3eced6ade97a1aa691ba34109dc91573544fb58445d8e",
+ "0x80210e5daf4f5404cc1c7f9c06f76a1419b327f5f5535f461a71d133ca8041c76c8fb03069cb588b2481c8715ddebe0b",
+ "0xaa4d389bb1ecad854eef5991a1bd7b12c6b36db9636fa7804b2331309c6505cf0580e1a52e9c337e9713f1889ef5536e",
+ "0x8c0b9b02a47c690b61671d06acc0e392b735e66c427b2d79cee4b334af5427005e0c93f9c752baa61724a499dfba1457",
+ "0xa57bdf53fef5336958a0adb043a76d575bee2403b62782b63725312a1b63ed5b4623133c8dad9409ce8c228146ddfe46",
+ "0x98ce0ae4b80e7fb67603c1d6b131aecf14c2b9604b2976f042c5cff8ebaaa949ecda365cfdb0b610eecf92ae395f05c6",
+ "0xab41735f9a3822f8b3a8fb0d996b0a5c644d6ebb31802b9cd953b3b25ef85fe183be8ebc8b8165d41a3ced8964bc576e",
+ "0x99b63f76d140709975e97e391ecf8c6deb1d3e2fda082bb384cebc431f9d092b443f9cbecd3796d6e6cb0f44bd4fa778",
+ "0x88eeb51124121fe5417d1f95fa26d462d1f519507cc9735f60f99e172bd7cec218c391cc962e2bc6175412e3b007f405",
+ "0xa098aeb8434774ef374d8caa7e49fd05a5997994f55238521208d04b11315a6de3a41bb49a471a786b8d6fed49fb9779",
+ "0xa9107964fba3b866072373f725bdb484c754d74369bebd152cd0e5d6a90ed4ac6a9cc2475eea5cdcaaecfa645df5a8f4",
+ "0x9473d4fc231ee8b7d0b92632628cd409fa99fb45f09014b0657fd7c4572e272bfbfeb9261d3d202d560db00dced3a3ae",
+ "0xabbf636726c15d26ecdb15c926d269ad09b49f17b1245dcf5d0e2879ca2d7f35169e6e960d540644afe2df8c2ec37e9a",
+ "0x8f17d77e20c608736a6a1982029db24b85d1dde720e5c5de218fbddc762e44b02b1a265e6767a672981abc570aab2d2f",
+ "0x92b28a50b05b98c8c53d87a3a91207fe1445a81dfeed0f7dd1a4e447982fdd7f1ddd61dd3a8e93906f89de44c07323a8",
+ "0xb93f1d97f20d8c05f3893b884af69590322a2d58d26150d34c3f259a391f74f58172a2bd64839aee0465bb186fec88b7",
+ "0xa3945b0163af9aee9d180a48716b0950af084f778539ac54834b7f0359b7c905740a26a2612d25b87916fecc3f0d2d5b",
+ "0x8e8055ace63ce48067a6aa357a420af43f90bf92acf0819642d9995e77879433ed9459bdb6a9c6a04d13b04fdd5aadbc",
+ "0x96375a653966f5490dddbfabff9a1935e7142b3bd1733d2faec596b8da13cd6b612f692733386b73f38c7b3df3bc6385",
+ "0x9771793f29aa9d6739771f560798fa64859a50079d6d3dcd8af9c8b1cab281cb8f3dfa08427c2bc07859dc8b1ada4b66",
+ "0xad416f02650ddddab08b951cd11e817b5a17b2a9c738daabc279595524fd218fbd4a6d1217f1d6817f9b30ec8c8a570f",
+ "0x95fbec142a418f83b71546f9a74039c44c6e508b92b230ee27d335fd3980ac4304c40b11d7aef0844a161c15063ade2a",
+ "0xb4496464f1f32954ea8aa4e8dc51befb9610839637e71017c384128d1edf7e58a96f5bd222fdaa6e3e637525a70d7057",
+ "0x962c66d4cb46c20d58cbf1ecf9722cf5488c2ec3c60e7f62beaaffb9b3608353d55b7b60ff51fcc08c41d49079d52866",
+ "0x8a4ea659e3fc3ff10f3459d80431cf08524310c708680340fdd387b4edbc49feccc9e30a38dac3022ab754992ac8a261",
+ "0x904d9bcd5d95f09669c3d65fbd502a3207c95e20b4d03d8daa07d552dd532136f01d298b0cf63a06ae70a01bb7cc0e70",
+ "0xa0bcefc936b44761ab6ef3f9d0561fd7c1cc855ed8ffc3e332a73e8d097dff4ab6b0c1ea1d9b93611ceadfad2fb0e320",
+ "0x88c34e561a3f14f85322c39d226c8f6cfb80a76476a3b7b4af696b96898c1ef74517871bf1ef44f59ae0f561ff1fdf49",
+ "0xafaebecdfd7dc1bf000ca63fb44f417b83990581fd14c9f4104301e5fb2627a174d8c210669d35701d28b909b3e6d86d",
+ "0xb5b74e00d55316907bac4cd1785499681a6bcf1c96e380ffa769ec2b524423d85ada7db69081042b1eb848641c4b7f77",
+ "0x8ec69c81f7dff09c7d1fc2df4dc4033b71c9b0acb807e75ab325a6827f30f3bbaeafb1f924c394d11d4d9898dc89742a",
+ "0xad52b8054a2e1bf2a2dc54cad73e6b067cbd26e2d5744e5f52c4954e0b5f1b6be37c05017f2c54b72529a20be0b0935b",
+ "0xa89c96b81b6faaccc75881e7cf4b43e38f57a9e307460838b03805b67c2ea4ce63f93bafeed84e740acfeb9e26c4e456",
+ "0x91f7617ae30f94d5120f750013160afcc557b693974af5f73ddfcff4f710097fc35101452036ad858a58fa5bdcb8d5d2",
+ "0x99a86af83c6d80c6954d20e1d81c4eb7641d8cfb3096f08de08d742643d6b52494d10a9b9a331b80964d5ac631775a0f",
+ "0x858906ff0d1bb8049435918dd3edcbcd7b411ebc5b3a43b0b0feb5f9700f6187fe49fe56d815bbe8cc90db2abe50ffd8",
+ "0x9123f13d935e3e7f8f36c8d0bc2849dccd66c1c901fa2ac355ef15c0263ed5cbe837504aff243dc4bdf5857f37fb581e",
+ "0xb2aa42127d768c2b2f75a06348ecd9e6507e85e187e56e05c5b936f196bda26284dc297e3e51757613450e0b0a8bd838",
+ "0xb62b0cc41bc69077189e67d46a6c4fdd1d579d54e2d397bd8423fb2338ae1b439bf667994ff721f3eb07f7cfe7c24a84",
+ "0xa8dbbeb5cf9d40195498c30584c82087b15e9a77ce6d9ac5d9d64c97b14e20642f3a00ba5814d17dfb54554140f4ee5e",
+ "0x949b01bb91ad323059a48cb61598b94539582319de819fe7f8466db951bbff241679583f86b116832315aecb6fa84afc",
+ "0x8eebdb57fe0d9d2ff92425b2242ad8af84a0fc3227f85d691f64bb3afb38ec83a34b944dc7c34234fd4dc059199d8b6e",
+ "0x8652984af3236117a81e12a7b7d877812b992de376c9b0b2397ed72257a555c8aa523b5851b2bebdd581e36514307f4f",
+ "0x80e00be2fca9d29605932b05de490903f7e51b825322adf9ce8b34b75d8582fff75558dd5d7f2740955f893d7b064538",
+ "0xa31a83633febff3721892795974d2a4770707b4b28ddd1145489b5b1bd478f5b05ea5020b0f7c17adf6226eeb1bf3870"
+ ],
+ "blobs": [
+ "0x1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe304962b3598a0adf33189fdfd9789feab1096ff40006900400000003fffffffc6092c566b31415be66313fbfb2f13fd56212dfe8000d200800000007fffffff84d37e37a3c8aae349928a7775c40a7a570681bcd001be41100000010ffffffef26821fa14f77df20ff1776e6aedf77458d12939700396c2300000022ffffffdd4d043f429eefbe41fe2eedcd5dbeee8b1a25272e0072d84600000045ffffffba261ad7321441ff3bc9240392b1dc0510e08caa5900e7548d0000008cffffff734c35ae642883fe779248072563b80a21c11954b201cea91a00000119fffffee6247db575276a7fa6f1563642bdce3c3e2e750561039ef63500000234fffffdcb48fb6aea4ed4ff4de2ac6c857b9c787c5cea0ac2073dec6a00000469fffffb961e092e81740c8153921f0102ed9718f3661671810e7d7cd5000008d4fffff72b3c125d02e81902a7243e0205db2e31e6cc2ce3021cfaf9aa000011a9ffffee56043712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab086e25654d29100c2a845807597517908938440273ef2eaa000046a9ffffb95610dc4aca9a5220185508b00eb2ea2f2112708804e7de5d5400008d53ffff72ac21b8959534a44030aa11601d65d45e4224e11009cfbcbaa800011aa7fffee55843712b2a694880615422c03acba8bc8449c220139f7975500002354ffffdcab012f4af01a8f3837a750ba86d8dafa1033fc69c243ef48ea100046aa0fffb955f25e95e0351e706f4ea1750db1b5f42067f8d38487de91d420008d541fff72abe4bd2bc06a3ce0de9d42ea1b636be840cff1a7090fbd23a840011aa83ffee557c23b7d0ba1dfe9e8b75236b6463db3014aa773d1ef7a6190900235508ffdcaaf7476fa1743bfd3d16ea46d6c8c7b6602954ee7a3def4c32120046aa11ffb955ee1af19b954e5cfce5a153d58985cae84d561f5078de9a0825008d5424ff72abdb35e3372a9cb9f9cb42a7ab130b95d09aac3ea0f1bd34104a011aa849fee557b66bc66e553973f396854f5626172ba135587d41e37a68209402355093fdcaaf6c639f3557494a69e4d764d44424b56a655d3cdfc3f4d1e529046aa128fb955ed75350c35b68f756817b8fd0803fc8fcc566bc1b84e9a56e5308d54252f72abdad32b3df63a8512fbac3e5c8f875f0218579ba9306d34c80a711aa84a6ee557b596567bec750a25f7587cb91f0ebe0430af375260da699014e2355094ddcaaf6b256e1d63b77a741a2dc5d4bd9ce1eae10932ca8184d33a69d46aa129cb955ed6339d60523c5b105fd8580bfab929b841bd29bac2d9a68f13b8d54253a72abdac573ac0a478b620bfb0b017f5725370837a537585b34d1e2771aa84a74e557b58a736a6d3bed269aade2c926a640cc3869f6b10cb369a568ef355094eacaaf6b1372e73324b0afb8139258754477f698ce99a47563d34c75df6aa129d6955ed62571e0bef637c1f2def1771280e64b5997df8b46c4a69a8fbfd54253ae2abdac496fd3d69945e66875afb44cf9c2f4db2a6b58e9864d36c380aa84a75d557b58916bba05df622f53a32c2ec1eb7c47de4f82f42f099a6f2b0255094ebbaaf6b1216386646b9ac129fe2523abceeeede499b22aba1034dffa05aa129d7855ed6241531f21840be4d6b4170d7f95d439f12e1097d01d69c1980c54253af1abdac48132509bb4ee2c301ffae127239ed20a56cd71fc37d384d419a84a75e457b5890164a13769dc58603ff5c24e473da414ad9ae3f86fa709a8335094ebc8af6b12025554c7808f134337b84ac48671a65155e20a4cdc4e14f467a129d7925ed6240336bbe7adf48909273d5bb104d9aacaa67056f5b59c2b8cd04253af25bdac48056d77cf5be912124e7ab76209b355954ce0adeb6b385719a084a75e4b7b58900a6701f764a886a754c234ec0b5d0952946d9e32d370afd742094ebc97f6b120135a164776276fd1615130000eb070cd23877ec1a3e1615285129d7930ed624025403ee7992542257a6f262815573fc241bb3fdf44c2c4490b253af262dac480490c9027df20e6cdacab127822a4ddac7e22c21a86858a36174a75e4c6b589009119204fbe41cd9b595624f04549bb58fc4584350d0b146c2e94ebc98d6b12012232409f7c839b36b2ac49e08a9376b1f88b086a1a1628d85d29d7931ad624024464813ef907366d655893c11526ed63f11610d4342c51b0ba53af2635ac4804885514d69ee4cf5d827dedaa224438efdcd864046558a50575a75e4c6c5890090f363c05eaa0013dbcc8a17c3c7ed007b45d0a64c7b14baeec4ebc98d9b120121d6c780bd540027b799142f878fda00f68ba14c98f62975dd89d7931b36240243a65027057566779aaef4c18e9f19e46cc206bef1bc5305fb23af26367c48048735617395b8331760dab5e59cbd99ab592ed1a3a348a62636575e4c6d0890090e53840cb63dcc56ed32382db8fa99393208676d06614c66acbebc98da2120121c9708196c7b98adda64705b71f532726410ceda0cc298cd597d7931b44240243926d15863c49783e045ad196369cac747cc61d9d95531b4f30af26368948048723663d65256952fec0826954652fb710f4387d9727a63842625e4c6d1390090e45588d22f7a9088038d198d0c255cc49e31d3d8a4c4c7228c5bc98da2820121c893d2c9e9c287383296ff7c97ca1f6bbc0e6bd709598e5f58c7931b45140243911066b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a3804872210cd72bca4e931215596b75e274973ef8f37a7a50639b1e33e4c6d1470090e44219ae57949d26242ab2d6ebc4e92e7df1e6f4f4a0c7363c67c98da28e0121c884335caf293a4c485565add789d25cfbe3cde9e9418e6c78cf931b451c0243910866b95e52749890aacb5baf13a4b9f7c79bd3d2831cd8f19f26368a380487221059851551bf93a40d637d861f3fd21789e3ea010339b3873f4c6d1471090e441f3f1c83505589cad293c134367602570e74165e037368b27f98da28e3121c883d0a4b5f4d8176185cf4489064e262d617946f1803e6d3090031b451c7243910791496be9b02ec30b9e89120c9c4c5ac2f28de3007cda612006368a38e487220f2292d7d3605d86173d1224193898b585e51bc600f9b4c2400c6d1471c90e441e4525afa6c0bb0c2e7a24483271316b0bca378c01f369848018da28e3921c883c830c84d84edc40887114f2e461c8b8973f333dc3b6d3234041b451c734391078f61909b09db88110e229e5c8c391712e7e667b876da646808368a38e687220f1e4f338ec08d72a4d41202e110688c4dca7911cceab4ca74116d1471ce0e441e3b2a79762df147cc5ff0cbea18c776c38f9e65f5d269968c23da28e39d1c883c7554f2ec5be28f98bfe197d4318eed871f3ccbeba4d32d1847b451c73a391078ea35f831649b81b4378ff5d05b1439363925da3346a65bd49068a38e757220f1d36bf062c93703686f1feba0b628726c724bb4668d4cb7a920d1471ceae441e3a663f31e3f446953960c9d6964474300df43ab29179970f642a28e39d6c883c74b53f8952b5f3529e3e600fac084e429b93398ae2c32e39086451c73ae91078e953403830394ccd67f98c81d7900267b6d1373b85565c8c50d8a38e75e220f1d29680706072999acff31903af2004cf6da26e770aacb918a1b1471cebc441e3a525c2064bb2995dcb62fe69ddbf6f815aefa113d529724b83728e39d79883c74a344532223298e3c242c9363afe44e5358a064d6a22e4b146f51c73af41078e94514b89cf3297efb0025ecef57befaceabed0c09415c97ccdfa38e75e920f1d289297139e652fdf6004bd9deaf7df59d57da181282b92f99bf471cebd241e3a51252e273cca5fbec0097b3bd5efbeb3aafb4302505725f337e8e39d7a483c74a2431d74046225a5ab8fc2da2b5ee349d5a14a2a607e4c00afe1c73af4a078e944763ae808c44b4b571f85b456bdc693ab429454c0fc98015fc38e75e940f1d288e536f59c55fcbed9bbd7cb2cfaf309d62feccf41c9301cff971cebd291e3a511b32f10c3795fa5def47bf8d9754bf62c0a9dc4436260543f3e39d7a533c74a23565e2186f2bf4bbde8f7f1b2ea97ec58153b8886c4c0a87e7c73af4a678e9446a57d6898b2e4bfa74ebc45e55495bb2fd53b36cd59816b3d08e75e94df1d288d33bbf6bc332fa77a1a44ee4a289158df553a935a8302f0ba21cebd29ce3a511a5039130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920e44c0ccf15dc7ec558fc4f422250f954e531d35817eed14e75e94eb1d288d241c898199e2bb8fd8ab1f89e8444a1f2a9ca63a6b02fdda29cebd29d63a511a4839130333c5771fb1563f13d088943e55394c74d605fbb4539d7a53ac74a23490722606678aee3f62ac7e27a111287caa7298e9ac0bf768a73af4a758e9446920705e657bec3f017d25c2773a18af214f91742f5517f0754f75e94eb2d288d23f6ccf23a4aee085b2184b166c27bc6a99cf2abaa72fe28e9febd29d66a511a47d65b09ff634238e1bfd5c54d045d6fd2e4a97d14b5fc6c140d7a53ace4a2348f9577398993ea99eefc77ed198820c22574171fe93bf8f2682af4a759d944691f13af989df53b5c0975bc3cb28fa766ca92f2659247f1ff1065e94eb3c288d23e102056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f820815b1adf7380f9a1136f927ad2c05342a3c3917f9061836f4a759e544691f04102b635bee701f34226df24f5a580a685478722ff20c306de94eb3ca88d23e082056c6b7dce03e6844dbe49eb4b014d0a8f0e45fe41860dbd29d679511a47c1040ad8d6fb9c07cd089b7c93d696029a151e1c8bfc830c1b7a53acf2a2348f8200d6d738c49e37c58e035ba72c91e7b3d5005ed7c906327704a759e554691f03f1adae71893c6f8b1c06b74e5923cf67aa00bdaf920c64ee094eb3caa8d23e07e35b5ce31278df16380d6e9cb2479ecf54017b5f2418c9dc129d679551a47c0fc6b6b9c624f1be2c701add39648f3d9ea802f6be483193b8253acf2aa348f81f862e99171749a4845d021cf248845dbcfaca133c606341b05a759e555691f03ef51e57b8fbf9713436d09c64106e9df9a0584c3890c69da0c4eb3caabd23e07dd2fdd4fcc5590a93ea6d9b47a0431e72eb74be30f18d558199d679558a47c0fb95fba9f98ab21527d4db368f40863ce5d6e97c61e31aab0333acf2ab148f81f724b8797de2ca527b2682cf9e00725c4b58971e83963570467759e556391f03ee3232188692facd21c9d201bb804a9b165bf262c6fc6afaccfeb3caac823e07dc5464310d25f59a4393a403770095362cb7e4c58df8d5f599fd679559047c0fb8a18987a519515cb2a414696d80904ed91a8db0dbc1ac05740acf2ab218f81f7133130f4a32a2b9654828d2db01209db2351b61b783580ae8159e556431f03ee266261e94654572ca9051a5b602413b646a36c36f06b015d02b3caac863e07dc4c50d62b397f10dc09d6fadeb83e859487f31ac9ddd6045e066795590d7c0fb8972dbeaf1fd4843acb7abbe5687369510a9277efb8ac0a600dcf2ab21bf81f712d5b7d5e3fa9087596f577cad0e6d2a21524efdf715814c01b9e556437f03ee25a430d152c28736de5b7b5bd99c4036c24f6221adfb02b24383caac870e07dc4b3122c830527495e833c31a32b7e650044988691bc6057ec71795590e2c0fb89652459060a4e92bd0678634656fcca0089310d2378c0afd8e2f2ab21c581f712ca48b20c149d257a0cf0c68cadf9940112621a46f1815fb1c5e556438b03ee25941d7670d610ad76d1ae534153e9862a1f7076e9e002c1078ccaac871707dc4b273aece1ac215aeda35ca682a7d30c543ee0edd3c005820f1995590e2e0fb8964e01ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee2593607b07014646177fa184cb51e71db41e1b8780df42c1708d0aac871747dc4b26c0f60e028c8c2eff430996a3ce3b683c370f01be8582e11a15590e2e8fb8964d81ec1c0519185dfe86132d479c76d0786e1e037d0b05c2342ab21c5d1f712c9b03d8380a3230bbfd0c265a8f38eda0f0dc3c06fa160b8468556438ba3ee259360071959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf0e32b3e638f404b2a322f3be28248c2c6786767f82e46217590e2e91b8964d7e1c6567cc71e809654645e77c50491858cf0cecff05c8c42eb21c5d23712c9afc38cacf98e3d012ca8c8bcef8a09230b19e19d9fe0b91885d6438ba46e25935f871959f31c7a0259519179df1412461633c33b3fc172310bac871748dc4b26bf06f3d971065a2cde1fef563da78a6eac124a9c3f52e47c57690e2e91c8964d7df6a8d86cda1a81e7bcab0eface7abfd7cf595e3e75c912eee21c5d23a12c9afbd612d664819b2bfaf62280751c5b622f4976e23cbb92401dd438ba47525935f794e6d253d09c802169116369b81ca6de3db1ea3947249a7bb871748eb4b26bef128eca326e9f286e4eef2952ef9f303c2627fa325e494f3780e2e91d7964d7de151d9464dd3e50dc9dde52a5df3e60784c4ff464bc929e6f01c5d23af2c9afbc22fc4e5487e2c9e4b88907cb3de2a37043640e894925571e138ba475f5935f7835f89ca90fc593c971120f967bc546e086c81d12924aae3c271748ebeb26bef064b25edcecf14fbe5ef081ac76f07040b8545fe4f49576b85e2e91d7e64d7de0b225e344a748c7a83aad65d86d46c3011b6ce589b92b07b0cc5d23afdc9afbc1544bc6894e918f50755acbb0da8d860236d9cb1372560f6198ba475fb935f782a158b29d6a8946cc6781f9e13480ee841877bbe6b4ac390341748ebf826bef0532b1653ad5128d98cf03f3c26901dd0830ef77cd6958720682e91d7f04d7de0a6562ca75aa251b319e07e784d203ba1061deef9ad2b0e40d05d23afe09afbc14c386ba7621b05e8eb8dc3189236d56a06e8204f57561e25a1ba475fc235f7829770d74ec4360bd1d71b8631246daad40dd0409eaeac3c4b43748ebf846bef052e6dc0f635427a266603d28a40d1b3d0164cc3995a587a3a87e91d7f09d7de0a5b679445175b56cf83d46b3c7999c5c82745c98eb1b0f61910d23afe14afbc14b55b3ae2db8d1021bf759ca0eb29e9b84937d5796061edd622a475fc2a5f78296942881e63f082c636b7ff69ce4a31988d1bed4ebdc3dd504648ebf855bef052d111229574b7680f253cc4fb948ac15914e41cf97887bc448d91d7f0ac7de0a5a122452ae96ed01e4a7989f7291582b229c839f2f10f78891b23afe158fbc14b42448a55d2dda03c94f313ee522b0564539073e5e21ef11236475fc2b1f78296841527045291a2fbe1b2ee049c4c68f0a1cd2a27c13de3c86d8ebf8564ef052d072a4e08a52345f7c365dc093898d1e1439a544f827bc790db1d7f0ac9de0a5a0e549c114a468bef86cbb8127131a3c28734a89f04f78f21b63afe1593bc14b41c354a7b41637a61c564364cda59a5ad0915939a06ef1fe76d75fc2b28782968376a94f682c6f4c38ac86c99b4b34b5a122b27340dde3fcedaebf85650f052d06e613c45b2644c09cd5d9f5b615cf4dc1f0290c418bc8141b6d7f0aca2e0a5a0db4e8ae4119efa96528804debab047e038b163e42e7904276eafe15946c14b41b5292820d01457af5cdccfe56d56ede86c0f0a2459f209f2de5fc2b28e82968369525041a028af5eb9b99fcadaaddbd0d81e1448b3e413e5bcbf85651d052d06d230b2dbed27c1402b4005bdad5215c9aae86aed64c8296f7a7f0aca3b0a5a0da36165b7da4f828056800b7b5aa42b9355d0d5dac99052def4fe15947614b41b464eddc86175678364ccdd1ead3eb54ea64dee119020a761eafc2b28ed2968368b29cde96fc13189816680655273c8c547481e7f1d415067d6f85651db52d06d15539bd2df82631302cd00caa4e7918a8e903cfe3a82a0cfadf0aca3b6a5a0da2a3349fe6bdb28a8bd66c7bd41c5813d17ccbc58720543435ce159476e4b41b4536693fcd7b651517acd8f7a838b027a2f9978b0e40a8686b9c2b28edc968368a6593a525c430525ad67e51cff0c631c59df33bdc5150eb17485651dba2d06d14b3e86fd655c6cce129c9061f60f2460ae6aa9d7872a1f06ea0aca3b755a0da295092053778f3c1edd05e6ebe414a6e95781960b0b543fb1d5159476ebb41b45291240a6ef1e783dba0bcdd7c8294dd2af032c1616a87f63aa2b28edd768368a5224814dde3cf07b74179baf90529ba55e06582c2d50fec7545651dbaed06d14a449029bbc79e0f6e82f375f20a5374abc0cb0585aa1fd8ea8aca3b75da0da29481e179025ca2470882b34e63940ccbd72c5a30cb243fcc15259476ebc41b4528f3c2f204b9448e1105669cc7281997ae58b46196487f982a4b28edd788368a51e04709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b08e13287fde889b0f33381b9f3223b8b859d1d8c1fe95294ca3b75e40da2947611c2650ffbd11361e6670373e64477170b3a3b183fd2a5299476ebc81b4528ec2384ca1ff7a226c3ccce06e7cc88ee2e167476307fa54a5328edd790368a51d84709943fef444d87999c0dcf9911dc5c2ce8ec60ff4a94a651dbaf206d14a3b01a25812cb4eb1dc6fffe43972881e0b3061434befe96cd4da3b75e41da29475f344b025969d63b8dfffc872e5103c1660c28697dfd2d9a9b476ebc83b4528ebe689604b2d3ac771bfff90e5ca20782cc1850d2fbfa5b35368edd790768a51d7c5d3e62127dbb70efccb844b13a6d2d92dce401f4f4b80e6e1dbaf20fd14a3af7468f1cd1d1d964976636b15a6b388320660a5fe6e971c0dd3b75e420a29475ed193092507a154be699338aaccccf2e3b78571bcad2e525bb76ebc8424528ebd9326124a0f42a97cd32671559999e5c76f0ae3795a5ca4b76edd790848a51d7b264c24941e8552f9a64ce2ab3333cb8ede15c6f2b4b9496eddbaf210914a3af645596eb30a70ce1ec96627d5e5cd799d66efb3a53972ad1dcb75e421329475ec737402f0e247c4690f98b22b4b00d5ba78a38d0a42e5747ba6ebc8427528ebd8d6e805e1c48f88d21f3164569601ab74f1471a1485cae8f74dd79084ea51d7b1a691314e568539cfbb2f2b2cab6939698d5259e8db95ec2eabaf2109e4a3af6335e388277a709bcaf32ab8d8d6385552c568d991872bf29d675e4213d9475ec6548835d9c2475fc16321d4312bd68d253595d8e2de57ff7adebc8427c28ebd8c91d1913e51f4e7ae43100ae1d712fcca15efd7858cb01935cd79084f951d7b1913a3227ca3e9cf5c862015c3ae25f9942bdfaf0b1960326b9af2109f2a3af63220076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218076a841539c6e4890c8e06dbb1d5a8028383d602c07f1745e4213e6475ec64300ed5082a738dc912191c0db763ab50050707ac0580fe2e8bc8427cc8ebd8c8601daa1054e71b922432381b6ec756a00a0e0f580b01fc5d179084f991d7b190c03b5420a9ce372448647036dd8ead40141c1eb01603f8ba2f2109f323af63218002ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe0aea6801cb432d22569a56cc4ee2a08b91fef0a41fcc617d084f99217b190bfc15d4d00396865a44ad34ad989dc5411723fde1483f98c2fa109f3242f63217f82ba9a0072d0cb4895a695b313b8a822e47fbc2907f3185f4213e6485ec642ff05753400e5a196912b4d2b6627715045c8ff78520fe630be8427cc90bd8c85fe03ab8d8c98a9554dd366b94bce48830b3cc31663efcc7bbd184f99218b190bfbf01840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf40c2051ff5c696391ccea8b8dfb744b12252943d7cc88dd204f992193190bfbe81840a3feb8d2c72399d5171bf6e896244a5287af9911ba409f3243263217f7d0308147fd71a58e4733aa2e37edd12c4894a50f5f322374813e64864c642fefa061028ffae34b1c8e67545c6fdba25891294a1ebe6446e9027cc90c98c85fdf404e1778a29cf8bbd49b6ee0d7ada2d91cfed69979c88f7605f992193290bfbe7f284149f21053fa6103a3e9a751a3da34a9ef8ef09120900cf3243266217f7cfd508293e420a7f4c20747d34ea347b46953df1de122412019e64864cc42fef9fa2d17807517b26c3bdb55ce953ced90cd540097bf4483e434cc90c99985fdf3f35a2f00ea2f64d877b6ab9d2a79db219aa8012f7e8907c869992193330bfbe7e640705a81352c33a73a1d624cea146b2ffc44bafa121134d43243266717f7cfcb0cf30daf40baea064100ec91ca86fe5aa4cbd1f124240da964864ccf2fef9f9519e61b5e8175d40c8201d923950dfcb54997a3e248481b52c90c999e5fdf3f2a33cc36bd02eba8190403b2472a1bf96a932f47c4909036a59219333cbfbe7e5467986d7a05d750320807648e5437f2d5265e8f8921206d4b243266797f7cfca85b4333a0e211231bdcd4f1149ece0da4f8ff7b0f42427e974864ccf3fef9f94f4298bfee9a84c8ef86700a2133fa43449e41521b8486a12f90c999e8fdf3f29d1143d88a0b6c1496d9a63c3a5e52ae83e8c50034090ee660219333d2fbe7e5392287b11416d8292db34c7874bca55d07d18a0068121dccc0432667a5f7cfca72450f62282db0525b6698f0e9794aba0fa31400d0243b9980864ccf4bef9f94e416311cfd31c3276e99f809cae8f39c19f26a5d9d4878d7020c999e98df3f29c72c6239fa63864edd33f01395d1e73833e4d4bb3a90f1ae0419333d31be7e538e58c473f4c70c9dba67e0272ba3ce7067c9a9767521e35c0832667a637cfca71c3d9b4096647bbe2c9c86764f3dfb08ca3f9548e743c85c1164ccf4c7f9f94e370748d9d99f59ff1105d314967254398f2b6cedcb87925c23c999e990f3f29c6d0e91b3b33eb3fe220ba6292ce4a8731e56d9db970f24b8479333d321e7e538da1d2367667d67fc44174c5259c950e63cadb3b72e1e49708f2667a643cfca71b43a46ceccfacff8882e98a4b392a1cc795b676e5c3c92e11e4ccf4c879f94e368009ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367809ff646cc0273c829f7715f1ba1c0ed631138b57927663d999e99103f29c6cf013fec8d9804e79053eee2be374381dac622716af24ecc7b333d32207e538d9e027fd91b3009cf20a7ddc57c6e8703b58c44e2d5e49d98f6667a6440fca71b3c04ffb23660139e414fbb8af8dd0e076b1889c5abc93b31ecccf4c881f94e367802c089f78d8d64ae1c4378713981f155dbd7b11762767e19a9e99104029c6ceff58113ef1b1ac95c3886f0e27303e2abb7af622ec4ecfc3353d322080538d9dfe3c34d69039bbae3edda4444656da7d71a22ea1d59da12a6b7a644101a71b3bfb047c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f508f80b9a93b3be6b101d6109482645bbe13f3f507687f1afe99104089c6cefea11f0173527677cd6203ac212904c8b77c27e7ea0ed0fe35fd322081138d9dfd423e02e6a4ecef9ac40758425209916ef84fcfd41da1fc6bfa644102271b3bfa847c05cd49d9df35880eb084a41322ddf09f9fa83b43f8d7f4c882044e3677f501b931256119e6968ce9c388c78c283b8c03651046880beff9910408ac6cefe9f372624ac233cd2d19d387118f1850771806ca208d1017dff322081158d9dfd3e6e4c49584679a5a33a70e231e30a0ee300d94411a202fbfe6441022b1b3bfa7c68aaeb5d6355cdfe41a7ec5bbc7245c0adf4e42044079bfdc88204573677f4f75d682f679d0e1eb4501600af6f42b37c082c243d8810dbfc910408af6cefe9ed46e2b77c107ec0206cf22956d4e38ef2bc9aa47810235bfa2208115fd9dfd3d919d7c7a4f76002f8a6aa7aa5a02545e02577a4ed20485bf5441022c0b3bfa7b133af8f49eec005f14d54f54b404a8bc04aef49da4090b7ea88204581677f4f62675f1e93dd800be29aa9ea968095178095de93b481216fd510408b02cefe9ec45ad095d491629a7d0219fd24f78856fbd7ff8366024483ab208116069dfd3d8741b38455f927b7b1d0fa2241e56ed5f25c4162c9048aab5741022c0e3bfa7b0d0f796158c8b1f21b6eba6c7bc13bd3df64c5218f0916faaf8204581d77f4f6191ef2c2b19163e436dd74d8f78277a7bec98a431e122df55f0408b03aefe9ec323de5856322c7c86dbae9b1ef04ef4f7d9314863c245beabe08116075dfd3d86407dd63731bf2139342998bd6003cc6f5d26b687548b9797d1022c0ecbfa7b0c70fbac6e637e42726853317ac00798deba4d6d0ea9172f2fa204581d97f4f618e1f758dcc6fc84e4d0a662f5800f31bd749ada1d522e5e5f4408b03b2fe9ec31c3eeb1b98df909c9a14cc5eb001e637ae935b43aa45cbcbe881160765fd3d863809e88fde9583bbebf65ee557fa2a9757d2f8e3518b993bd2022c0eccfa7b0c6f13d11fbd2b0777d7ecbdcaaff4552eafa5f1c6a3173277a404581d99f4f618de27a23f7a560eefafd97b955fe8aa5d5f4be38d462e64ef4808b03b33e9ec31bc4f447ef4ac1ddf5fb2f72abfd154babe97c71a8c5cc9de9011607667d3d863782a9b56962e9e417732b47d7799079d77dbd09115b995612122c0ecd0a7b0c6ef5536ad2c5d3c82ee6568faef320f3aefb7a1222b732ac2424581d9a14f618dde367fb30590db889497981dd65a7c9dda1b84a053e65728858b03b3439ec31bbb6cff660b21b711292f303bacb4f93bb4370940a7ccae510b160766873d863776661124c319d0a50a2b269f5160509f631a54dd4c995e46172c0ecd0f7b0c6eeb5834a2330a03cccc2313669ab6ff66c0e0ec169632be302f581d9a1ff618ddd53c7b9d12ea6a1c5012ecf52d645cf57c6e1a8929657e045fb03b3440ec31bba9050992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d86377510a1325a5566d76afe54024a57e3025e710eedc9f95fb5980c0ecd105b0c6eea214264b4aacdaed5fca80494afc604bce21ddb93f2bf6b30181d9a20b618ddd44284c969559b5dabf95009295f8c0979c43bb727e57ed660303b34416c31bba8850992d2ab36bb57f2a01252bf1812f388776e4fcafdacc060766882d863775102d44b3023d39edb620c8724fd960866bbb3025f65fb73c0d0ecd105c0c6eea1f5a8966047a73db6c4190e49fb2c10cd776604becbf6e781a1d9a20b818ddd43e412524b5cb4a39904fe7f1375be041a99902f3d67ede94353b34417131bba87b0e5ca2186cf6f5d86c960a66ae1eab4dde4843a9fdbecc6b766882e3637750f51cb94430d9edebb0d92c14cd5c3d569bbc908753fb7d98d6ecd105c6c6eea1ea39728861b3dbd761b258299ab87aad3779210ea7f6fb31add9a20b8d8ddd43d472e510c367b7aec364b0533570f55a6ef2421d4fedf6635bb344171b1bba87a871dc7a33a5d1e03e9626ce62d848dcd890c6969cdbee6ab866882e3737750f4f6fcb4d1422064334f913c4bda6efe1abcdcf8936b7de7971cd105c6f6eea1e9d6ba8f2d51a6f0921beedb173443deb5247e16e6a6fbe96e49a20b8dfddd43d3963643e570b4094fb4aa18ade7ed9fe9f3c0538d1df7ed1ca344171c0bba87a7152dad55aece3acae62093db4f4122539244ccda0beff47956882e3827750f4e131c80362b029dc1490d8a361de82726cf4dbf73e7e00332bd105c705eea1e9c1639006c56053b82921b146c3bd04e4d9e9b7ee7cfc006657a20b8e0bdd43d382533266379709f30a1028b57f7067f1ae7fb238f6f80270b044171c18ba87a7033277251c047668cbed1792f6d72e0b57aba6cdeaf0068561882e3832750f4e0564ee4a3808ecd197da2f25edae5c16af574d9bd5e00d0ac3105c7064ea1e9c0a55eeed1ce83c25e7812473d3531655595add93a8c01bb98720b8e0cad43d381337f032e6a6dace86cf0f0f9e9c8ad2ad61fd834e8039170f4171c196a87a70256fe065cd4db59d0d9e1e1f3d3915a55ac3fb069d00722e1e82e3832d50f4e04a6bd3244771cdbcd309026672688972b03438693700e6003e05c7065ba1e9c09363b8a13bb9fdfc5ddecaf4dcc7710d5b14b32e6b01cda47d0b8e0cb843d3812553839b244a5e7b738a5c11b1854042b0d5a8b8d3039cecfb171c197187a7024933198ef56b1f799ee17e4b5b00dead5c5793cda3073b7df72e3832e40f4e049166331dead63ef33dc2fc96b601bd5ab8af279b460e76fbee5c7065c81e9c09225878948282e0693352bf5563f9d8dd6c0a9192891cef9bddb8e0cb913d3812433d0381b1dc23551e7244d2bfea0fe2d2c165810f39e0dbbc71c197237a70248506195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e049090c32b8211d5259e9629f9aef94fbdb405e1abc36e786b6f3c7065c8fe9c09212186570423aa4b3d2c53f35df29f7b680bc35786dcf0d6de78e0cb91fd381242430cae084754967a58a7e6bbe53ef6d01786af0db9e1adbcf1c19723fa70248486195c108ea92cf4b14fcd77ca7deda02f0d5e1b73c35b79e3832e47f4e0490904f3ddabeab88214df6bfd6f1461bdc008dee1f6b786d133d7065c8ff9c09211f2a8e0e2a2d72c553ba45d5da8295dffbc81e9ad3f0dbca7be0cb92003812423d551c1c545ae58aa7748babb5052bbff7903d35a7e1b794f7c19724007024847a364a91558c2d9806b5dd7f6200b5a7e9ccbcc74cc370cdf0832e4801e04908f36c9522ab185b300d6bbafec4016b4fd399798e9986e19be1065c9003c09211e6653c9e030718e2d2a43c257ff934c7a1df3579300dc4dbc30cb92008812423cb568b94b2e494485d153e72f7e8c7b73e6aad4e5d1b8b5b871972401202484795392982129f8b1371f7430de7c7ed9677819cf8b737185b0f32e4802504908f29725304253f1626e3ee861bcf8fdb2cef0339f16e6e30b61e65c9004a09211e5270b860f7548ed07fa9d25f97161481d8b2b63ed9dc63103dcb92009512423ca36d831a9b7f8023b7206ae72622872bac11aed9b0b8c7c47c9724012b2484794567188de3d562ca260d9bf6443b6c7f52cfa00f5e71912cfa2e4802574908f2895a43747481281703e7fe14806d3726a04b827ab9e323fdf55c9004af9211e51140994195d8b2b0bf9cc250f8d0cc753b43475170c6499febb92009602423ca210d44dbd887c7e437064ac9e997f7127132d0fede8c94e3d8724012c1484794411a89b7b10f8fc86e0c9593d32fee24e265a1fdbd1929c7b0e4802582908f288235136f621f1f90dc192b27a65fdc49c4cb43fb7a32538f61c9004b05211e51046a26dec43e3f21b832564f4cbfb893899687f6f464a71ec39200960a423ca2086060163552e0c6283172c69175cf4f0dd95249e5c94fe18824012c158479440f4cd285177c240f082fabb51ae1fcc6165ee6efc892a167114802582c08f2881d25b762dbceaaa0c82c1d922dba57b4276a103b8e254472239004b05911e510394b6ec5b79d554190583b245b74af684ed420771c4a88e447200960b223ca207222efe41c110d05d87d3c70aedfbcf89854834a3595136c8f4012c165479440e345dfc838221a0bb0fa78e15dbf79f130a906946b2a26d91e802582ca8f2881c617d1e91d1a969a19c1b7eab375520a5bfe4f84d3544f563e004b05961e51038b2fa3d23a352d3433836fd566eaa414b7fc9f09a6a89eac7c00960b2c3ca207165f47a4746a5a686706dfaacdd548296ff93e134d513d58f8012c165879440e2c4aa1a195ab175385da857d93a0ee7ada9ebe8297a27c55f102582cb1f2881c5721559bd82c9129c381d1231f383b1dafe9bf612c44fa4fe304b05964e51038ad42ab37b05922538703a2463e70763b5fd37ec25889f49fc60960b2c9ca20715a1168c80d88a729c5d40ab474d74a9eba533fe0ae13eae38d12c165949440e2b322d1901b114e538ba81568e9ae953d74a67fc15c27d5c71a2582cb292881c56645a32036229ca717502ad1d35d2a7ae94cff82b84fab8e344b05965251038acc175899191b9bd0e66d1bcb9eb0b31dcd4641616d9f58c069960b2ca5a20715972eb132323737a1ccda37973d61663b9a8c82c2db3eb180d32c16594b440e2b2e5d6264646e6f4399b46f2e7ac2cc7735190585b67d6301a6582cb296881c565c46d72175b34109eb35a484ed7bf71664de4d6769fac7a74db059652e1038acb719c09b983ce4968e380f31d2ee4c54c468dd2ad0f590f29c60b2ca5d2071596d3381373079c92d1c701e63a5dc98a988d1ba55a1eb21e538c16594ba40e2b2da67026e60f3925a38e03cc74bb9315311a374ab43d643ca7182cb297481c565b45a17356ebd8737298d3fb68f68c0ce1df32bb284ac8938e4059652ea038acb674040c38a5170f10ae7459516c7dfc4369299c106591415c90b2ca5d5071596cd0c93dfc1794464cd9b515225861db067d175de09b229cf9316594bab0e2b2d991927bf82f288c99b36a2a44b0c3b60cfa2ebbc1364539f262cb297561c565b32324f7f05e51193366d4548961876c19f45d77826c8a73e4c59652eac38acb664649efe0bca23266cda8a912c30ed833e8baef04d914e7c98b2ca5d5871596cc8555054c46aa8cf9181db4a5058392e77c3a03c98229e9d326594bab1e2b2d98f36b30235abb421dad07cbc98a6d084ea3382d52d453ede65cb297564c565b31d6d66046b576843b5a0f979314da109d46705aa5a8a7dbccb9652eac98acb663a66de618385330a230eb91a5a91a03ba37a4db0b214fd1d982ca5d5941596cc7359cf1bb3e0c896fdea385cad199e9f41a0ddbd6129fbdf31594bab292b2d98e53fb0901497f3b0b3a136e152299b667dedfdd6bf53f96263b2975653565b31c90b7378d60649e41f0f33ea9c4994f4f6883e097ba7f468c8652eaca7acb6639116e6f1ac0c93c83e1e67d5389329e9ed107c12f74fe8d190ca5d594f596cc7222dcde3581927907c3ccfaa712653d3da20f825ee9fd1a32194bab29eb2d98e445b9bc6b0324f20f8799f54e24ca7a7b441f04bdd3fa346432975653d65b31c884349e60d3b00c4a8c004d1bc8fad77633022f3b77f48308752eaca7bcb66390f12a624c74c640c094ccfcb7115b916c10c88436bfe92050fa5d594f896cc721d254c498e98c81812999f96e22b722d82191086d7fd240a1f4bab29f12d98e43a4a98931d31903025333f2dc456e45b0432210daffa48143e975653e25b31c87421437ee73982e30233448380a426de031084775cf491cc7e2eaca7c5b66390e74286fdce7305c60466890701484dbc062108eeb9e92398fc5d594f8b6cc721ce11205449bc6e0ec099d835fa86f9a006ee543970d248d5f9bab29f17d98e439b2240a89378dc1d8133b06bf50df3400ddca872e1a491abf375653e2fb31c873644815126f1b83b026760d7ea1be6801bb950e5c3492357e6eaca7c5f66390e6c1514fafab9d2f8bc9b87d7cc2e2b28321ee42783924853ced594f8bfcc721cd72a29f5f573a5f179370faf985c5650643dc84f072490a79dab29f17f98e439ae5453ebeae74be2f26e1f5f30b8aca0c87b909e0e49214f3b5653e2ff31c8735c34ba3082a4fa489ca904e65967b7698ba363981992444277aca7c5ff6390e6b76974610549f491395209ccb2cf6ed31746c73033248884ef594f8bfec721cd6e5efb1ab76a4ba52a70d9c15d953bce2939d0bc634912addfb29f17fe8e439adb4a088e1baaf9cd0cae79aab320d5c44d1fe3d4c39226ffc0653e2ffe1c8735b5202374e42c561cd129b97d5e3809b094ec0a0584244fa381ca7c5ffd390e6b694046e9c858ac39a25372fabc70136129d8140b08489f470394f8bffa721cd6d20ca02c3d87baf5fc73ac1d70d684ea4e5c6a720d9140320829f17ff5e439ada31940587b0f75ebf8e7583ae1ad09d49cb8d4e41b2280641053e2ffebc8735b463280b0f61eebd7f1ceb075c35a13a93971a9c8364500c820a7c5ffd790e6b68c650161ec3dd7afe39d60eb86b4275272e353906c8a0190414f8bffaf21cd6d1856151c855211e27f0787ff055eaccce072e97cd61404c4839f17ff5f439ada2f383c91b77a8647b5dbd62602b3b7c1bb921555a9280b2d083e2ffebf8735b45d7079236ef50c8f6bb7ac4c05676f8377242aab5250165a107c5ffd7f0e6b68ba6d049f8ac07ba18f3c1ec002c53d2ee8f497b2a1a02e5821f8bffaff1cd6d173661b97c25759c5d64503a7fd80d885cc9571c140405e5444f17ff5ff39ada2e55849883185160e6456cd77f2f80f3393d725de7d80be4c8ae2ffebff735b45c93ca5690fe08e9f807a6117dde67c8f225a8e18f8017e3d16c5ffd7ffe6b68b91055d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d17210aba55992eff83718310af6786ae8c7ec2bd1bda05fc3c5d17ff60019ada2e421574ab325dff06e306215ecf0d5d18fd857a37b40bf878ba2ffec00335b45c842ae95664bbfe0dc60c42bd9e1aba31fb0af46f6817f0f1745ffd80066b68b90855d2acc977fc1b8c18857b3c357463f615e8ded02fe1e2e8bffb000cd6d1721037b7b23fc65ab9cffdd11e706146efe6d814199d5fc569d27ff6001aada2e41f6f6f647f8cb5739ffba23ce0c28ddfcdb028333abf8ad3a4ffec00355b45c83e6af121abefcd69f7c40aa1b97b79e7960c92c2727f174b4affd8006bb68b907b61f49c04b5fd56a754db6b6aed51f726c567e0e1fe303a96ffb000d86d1720f54ffb90b6425d3006767cfecdd102164837121dc0fc62192eff6001b1da2e41e92c097a195b1ce2c4b9c025939862548b1a66977ef8c5d65efec00364b45c83d15812f432b639c58973804b2730c4a91634cd2efdf18bacbdfd8006c968b907a23c38411242d60dcab3c6be4657e77a2715dcb9f8e318fd7cfb000d93d1720f430482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e850905b5a2b81d3c9a68a749094c5a3891aff79fdd8c673df5ec00365145c83d0a120b6b45703a7934d14e921298b471235fef3fbb18ce7bebd8006ca28b907a142416d68ae074f269a29d24253168e246bfde7f76319cf7d7b000d9451720f428482dad15c0e9e4d3453a484a62d1c48d7fbcfeec6339efaf6001b28a2e41e8501c6db2d858364c5e573ab88cbc01b115abbc59d5c675835fc00365155c83d09f38db65b0b06c98bcae7571197803622b5778b3ab8ceb06bf8006ca2ab907a13e71b6cb6160d931795ceae232f006c456aef1675719d60d7f000d9455720f427c6f7fef6f9814e5aa869bec5dd66bb0a80a252aab33adbeff001b28abe41e84f76b12378c068c4e0cd9fe00b3a335894ac08cb153675d21ff00365158c83d09ed6236c7c4e37b1ed180c2295f3cc93a902d5bbea3cebbe7ff006ca2b2907a13d9507fe8369d58c05ace4a7ab66ff09d1b06f9d9449d7973ff00d9456620f427b12d12291a1114036d695b1d64d63f6230ba360e863af48bff01b28acd41e84f615a245234222806dad2b63ac9ac7ec461746c1d0c75e917fe0365159a83d09ec2405afd151ab2906d72329d8b4f5bb0bd951a9615ebd3d3fd06ca2b3607a13d830cc852d70bc7a392b12b630e95158975d6778828d7a94bfb0d94566d0f427b051990a5ae178f47256256c61d2a2b12ebacef1051af5297f61b28acda1e84f60a33214b5c2f1e8e4ac4ad8c3a545625d759de20a35ea52fec365159b43d09ec14664296b85e3d1c95895b1874a8ac4baeb3bc4146bd4a5fd86ca2b3687a13d8285897861d92dcbbe2df7c58e147b6bf5813bade8a7a9663b1d94566d1f427b04f3d4164e7fc1bfa7d8bbed9ba85cba6aad3b81911f52e6b64b28acda4e84f609d0695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec1390d2a44f99d34ef65c887b6da03eaeaa0a7651c41d4bcf594ca2b3695a13d82721a5489f33a69decb910f6db407d5d5414eca3883a979eb2994566d2b427b04e434a913e674d3bd97221edb680fabaa829d94710752f3d65328acda5684f609c8695227cce9a77b2e443db6d01f5755053b28e20ea5e7aca65159b4ad09ec13905eb6a846a9b1791455419598350cd2052294201a4bd0fd4da2b3695b13d8271f497fa93a29c574e0774953286077cc04f16a9c3197a39e9c4566d2b727b04e3d1f11ab2129ed6c78bb58ce48b74dc0048f1794602f48e1398acda56f4f609c793e23564253dad8f176b19c916e9b80091e2f28c05e91c273159b4ade9ec138f2085905317e18349aba29611ad395280ce8a0ad7dbd2528e72b3695be3d8271e310b20a62fc3069357452c235a72a5019d1415afb7a4a51ce566d2b7c7b04e3c6216414c5f860d26ae8a5846b4e54a033a282b5f6f494a39cacda56f8f609c78c42c8298bf0c1a4d5d14b08d69ca9406745056bede929473959b4adf1ec138f1811a2abc4b7e5cc636f5c39a52fb0a8c9364d33d8d2543273b3695be4d8271e2f234557896fcb98c6deb8734a5f6151926c9a67b1a4a864e766d2b7c9b04e3c5e468aaf12df97318dbd70e694bec2a324d934cf634950c9cecda56f93609c78bc1927b6d29590e5d347a7f52173e36e445eabfac392a3379e9b4adf27c138f177324f6da52b21cba68f4fea42e7c6dc88bd57f58725466f3d3695be4f8271e2ee649edb4a5643974d1e9fd485cf8db9117aafeb0e4a8cde7a6d2b7c9f04e3c5dc55500f4182e9b1520a05d10395799a1da1a23219951b60f5da56f93f09c78bb736b2772fdc35e55be0d1c9ff21515c35ef86c0302a3865ecb4adf27f138f176d6d64ee5fb86bcab7c1a393fe42a2b86bdf0d80605470cbd9695be4fe271e2eda66dc356c473a1827500d4ff47ba398d26a5d5cbda8e33bb3d2b7c9fd4e3c5db359cac38564d6b3066ce0c7e0eda5599f80fd157851c81b68a56f93fb9c78bb653fa7dfb7a00fe8c4a687b7b9d1a8db39ae3c86eda391dad24adf27f838f176c90b62181c1682544119d5976b99afde6e08bb69d8472559a595be4ff171e2ed9116c430382d04a88233ab2ed7335fbcdc1176d3b08e4ab34b2b7c9fe2e3c5db222d8860705a09510467565dae66bf79b822eda7611c95669656f93fc5c78bb6445b10c0e0b412a208ceacbb5ccd7ef37045db4ec2392acd2cadf27f8b8f176c884233da6e3e87c6c96a1f9eb1915c0edb37f8f98172573e5a5be4ff181e2ed90f107a0d895372104aa105655b191645b11c344effe4b020b5b7c9fe313c5db21d20f41b12a6e42095420acab6322c8b6238689dffc960416b6f93fc6278bb643a41e836254dc8412a8415956c645916c470d13bff92c082d6df27f8c4f176c8740fe2c4f771f3050cd4f152d0bf1055838de4d3fc2582a9aebe4ff18ae2ed90e71fc589eee3e60a19a9e2a5a17e20ab071bc9a7f84b05535d7c9fe315c5db21ce3f8b13ddc7cc143353c54b42fc41560e37934ff0960aa6baf93fc62b8bb6439c0b28806865faab1e7450be7deee0d4171b68fbde2c16f176f27f8c58176c8737165100d0cbf5563ce8a17cfbddc1a82e36d1f7bc582de2ede4ff18b02ed90e6e2ca201a197eaac79d142f9f7bb83505c6da3ef78b05bc5dbc9fe31605db21cdc594403432fd558f3a285f3ef7706a0b8db47def160b78bb793fc62c0bb6439b83e9a5f33360d349f11d20fd6e46b696c62d219dfc170bb7027f8c58276c8736f09471713427cebf5f06a47a5bf34fad371e68fbc82e31ae14ff18b05ed90e6dd128e2e2684f9d7ebe0d48f4b7e69f5a6e3cd1f7905c635c29fe3160bdb21cdba251c5c4d09f3afd7c1a91e96fcd3eb4dc79a3ef20b8c6b853fc62c17b6439b744a38b89a13e75faf83523d2df9a7d69b8f347de41718d70a7f8c582f6c8736e82083c9e0fe314216d36aa253e9add531caab57c52e335215ff18b05fd90e6dcf410793c1fc62842da6d544a7d35baa639556af8a5c66a42bfe3160bfb21cdb9e0e218030cf278b131a70b1479d157cc1d6efbb11b8ceec58fc62c1806439b73b1c4300619e4f162634e1628f3a2af983addf7623719dd8b1f8c58300c8736e76388600c33c9e2c4c69c2c51e7455f3075bbeec46e33bb163f18b060190e6dcec710c0186793c5898d3858a3ce8abe60eb77dd88dc67762c7e3160c0321cdb9d86e2a5bb9c8db33e973d13c71c7b5f4181b3e0d188cf06990c62c1807439b73af686710206818ea8ab468a0db85ca102ae2be762e19e277228c58300f8736e75d5ce078eda69457cd359769af01f2485071bf485933c6924618b060200e6dceb945d34a88238b325237f4fb55fa42b89b8fc0ecaf678ec88d3160c0411cdb9d7117b8edbd1d78e75c3cb01ea3eae39931cbc4355bcf1f351b62c1808339b73ae12f71db7a3af1ceb879603d47d5c7326397886ab79e3e6a36c5830106736e75c25ee3b6f475e39d70f2c07a8fab8e64c72f10d56f3c7cd46d8b06020ce6dceb8449d9c695c229bd99b2471d174d7af1890a6406db78fb4cdc160c041acdb9d7071fc5e5d85ab5fdeb3154622691540b0cc10a69b3f1f83db92c1808369b73ae0d3f8bcbb0b56bfbd662a8c44d22a816198214d367e3f07b725830106d36e75c1a0b29f00e413a7a649217b0923bae542db06c02ccc7e29ae5b06020db6dceb8331653e01c8274f4c9242f6124775ca85b60d805998fc535cb60c041b6db9d70662ca7c03904e9e992485ec248eeb950b6c1b00b331f8a6b96c180836db73ae0cc594f807209d3d32490bd8491dd72a16d836016663f14d72d830106db6e75c1983eb15990ea0a2900ee41311bb1436ad5b30288c97e2b525c06020db7dceb832f09750bceaa76d4b9a9488a2f58e4fda612476d8ffc5848b90c041b70b9d7065d12ea179d54eda9735291145eb1c9fb4c248edb1ff8b09172180836e173ae0cba25d42f3aa9db52e6a52228bd6393f698491db63ff16122e430106dc2e75c19744ba85e7553b6a5cd4a44517ac727ed30923b6c7fe2c245c86020db85ceb832e8236315977dcfce52614ecaed84ae025bd0b934fcc5862f91c041b70c9d7065cf46c62b2efb9f9ca4c29d95db095c04b7a17269f98b0c5f2380836e193ae0cb9e199eaf0acda1bc01520153ae09163169ef272ff0161a62480106dc3375c1973b333d5e159b437802a402a75c122c62d3de4e5fe02c34c490020db866eb832e76667abc2b3686f00548054eb82458c5a7bc9cbfc058698920041b70cdd7065cec5907d103437062c25cd0c5683f0fb34a257bdb7db0d4b6410836e19cae0cb9d73e21fab35d43483c8667b2c8747d8e8ef73a12f861ab1083106dc33a5c1973ad08564e1390e91330d9958d88df5945189ab681edc357c50720db8675b832e75910ac9c2721d22661b32b1b11beb28a31356d03db86af8a0e41b70ceb7065ceb22159384e43a44cc3665636237d6514626ada07b70d5f141c836e19d6e0cb9d6442b2709c87489986ccac6c46faca28c4d5b40f6e1abe283906dc33adc1973ac8117739e5e4f3b5c5661f0085ebf2798457aa7ad9357df4730db8675c832e758f22ee73cbc9e76b8acc3e010bd7e4f308af54f5b26afbe8e61b70ceb9065ceb1e45dce79793ced715987c0217afc9e6115ea9eb64d5f7d1cc36e19d720cb9d63c17cc27dbfe0030e2fdbe2c2755f1f41d699632c6abf147996dc33ae51973ac772f984fb7fc0061c5fb7c584eabe3e83ad32c658d57e28f32db8675ca32e758ee5f309f6ff800c38bf6f8b09d57c7d075a658cb1aafc51e65b70ceb9465ceb1dc4a73978cc66409cfbab78932a5edc8e5f8f3f2325f8be0cc6e19d729cb9d63b720f987c6632a965742353a5d4239b9c69e2a4061bf196599dc33ae54973ac76d41f30f8cc6552cae846a74ba8473738d3c5480c37e32cb33b8675ca92e758eda0ff877c6630cdc14d59b116cff450f1524eb5d83fc673a6870ceb9535ceb1db31ff0ef8cc619b829ab3622d9fe8a1e2a49d6bb07f8ce74d0e19d72a6b9d63b663fe1df198c337053566c45b3fd143c5493ad760ff19ce9a1c33ae54d73ac76cc0bd616dfeec9635e799eb35ff086a0a3d39d481ce33b77448675ca9be758ed9717ac2dbfdd92c6bcf33d66bfe10d4147a73a9039c676ee890ceb9537ceb1db2e2f585b7fbb258d79e67acd7fc21a828f4e7520738ceddd1219d72a6f9d63b65c5eb0b6ff764b1af3ccf59aff8435051e9cea40e719dbba2433ae54df3ac76cb84973c6abc2f8b89f66b15df6fec83237e616ddcb33b91849675ca9bf758ed96f1ef9e6045c53f3f69a28e3e5f3ee8c6a787017936773d493ceb9537feb1db2dd3df3cc08b8a7e7ed3451c7cbe7dd18d4f0e02f26cee7a9279d72a6ffd63b65ba07f9f0be47b252923569b78fc61859a48e02ba4a9dd0f6503ae54e00ac76cb730ff3e17c8f64a5246ad36f1f8c30b3491c0574953ba1eca075ca9c0158ed96e61fe7c2f91ec94a48d5a6de3f18616692380ae92a7743d940eb953802b1db2dcc3fcf85f23d929491ab4dbc7e30c2cd247015d254ee87b281d72a700563b65b980bb164915187abdb2361a0f457e3c2438c6e00a6dd110904ae54e00bc76cb72f1762c922a30f57b646c341e8afc7848718dc014dba2212095ca9c0178ed96e5e2ec59245461eaf6c8d8683d15f8f090e31b8029b74442412b953802f1db2dcbc5d8b248a8c3d5ed91b0d07a2bf1e121c63700536e888482572a7005e3b65b9784728a1c1eedd406a02e0373d749a4c337322666ad112344be54e00bd76cb72ef1a639c30b41d038bd2869672df92c061928728d2a2260c98ca9c017bed96e5dd34c73861683a0717a50d2ce5bf2580c3250e51a5444c1931953802f7db2dcbba698e70c2d0740e2f4a1a59cb7e4b01864a1ca34a889832632a7005efb65b97745f2f3a32774a9f1660fadb8ef2f42b07407ba292113208c754e00be06cb72ee74a70cd11c4f7c0e48ebbdf15dc467e092d39a1212265b58fa9c017c1d96e5dcd20f3f2d060520480ea3de623aeeb240d06b59e3f44cd0f2053802f84b2dcbb9941e7e5a0c0a40901d47bcc475dd6481a0d6b3c7e899a1e40a7005f0965b977320fe223ee57aa94bb75bdc086b20ab82ec718d4fa1335e0824e00be13cb72ee631fc447dcaf552976eb7b810d6415705d8e31a9f4266bc1049c017c2796e5dcc63f888fb95eaa52edd6f7021ac82ae0bb1c6353e84cd782093802f84f2dcbb98c0b23781f93b728937ab42c2d86b3e970e50903cd99b0a8137005f09f5b9773171646f03f276e5126f568585b0d67d2e1ca12079b33615026e00be13eb72ee62e2c8de07e4edca24dead0b0b61acfa5c394240f3666c2a04dc017c27d6e5dcc5c591bc0fc9db9449bd5a1616c359f4b8728481e6ccd85409b802f84fadcbb98b83e49daa611d50bef7808ead0619cbf08fcd298d69b0c2538005f09f6b977316f08a60df8fa0c9a96bcd7fd98b997a60ca5e78daa3619ee7100be13ee72ee62dd114c1bf1f419352d79affb31732f4c194bcf1b546c33dce2017c27dce5dcc5ba229837e3e8326a5af35ff662e65e9832979e36a8d867b9c402f84fb9cbb98b7445306fc7d064d4b5e6bfecc5ccbd30652f3c6d51b0cf738805f09f73977316e81673383c772c2c239a4601838fd888c50abb36a061a08b110be13ee82ee62dcf2ce67078ee585847348c03071fb1118a15766d40c341162217c27dd05dcc5b9e59cce0f1dcb0b08e6918060e3f6223142aecda8186822c442f84fba0bb98b73c3fac1a908fc3e3d49ef6341475226e23021c11000d05fc895f09f74277316e770b6a8dcdf5ea4a610ab29020e0a30440b07a7dfd1a0d9d13be13ee85ee62dced16d51b9bebd494c215652041c146088160f4fbfa341b3a277c27dd0bdcc5b9da2daa3737d7a929842aca4083828c1102c1e9f7f46836744ef84fba17b98b73b45b546e6faf525308559481070518220583d3efe8d06ce89df09f742f7316e76842bb358c350728c877ef2a06008e6c05b3ea3bcea0db753ce13ee85fe62dcecf1188c3c54070d448bca47c03f77b00061416d39a41b88e7ac27dd0c0cc5b9d9d2311878a80e1a8917948f807eef6000c282da73483711cf584fba18198b73b3a46230f1501c35122f291f00fddec0018505b4e6906e239eb09f74303316e7674185876d6d9e924fdb1ea0817b236282b4cf8f8cf0dc617d713ee860762dcece730b0edadb3d249fb63d4102f646c505699f1f19e1b8c2fae27dd0c0ec5b9d9ce6161db5b67a493f6c7a8205ec8d8a0ad33e3e33c37185f5c4fba181d8b73b39c4ed60f63a5abaaa55c1668b5880f6955140a22756e3262b99f74303c16e7673729be777421b9d80284f2f963067cfaa4d456a0e7dc6669743ee860792dcece6d537ceee84373b00509e5f2c60cf9f549a8ad41cfb8ccd2e87dd0c0f25b9d9cda330c367d5d49e2c1e0920d841052128dfd9cdf9c719b49d1fba181e5b73b39b366186cfaba93c583c1241b0820a4251bfb39bf38e33693a3f74303cb6e767366584332a24b8a0dbf4f0e5e0837a67232a2b5da6ec66ecb48ee860797dcece6cb3c98bdf16d769e366ae2e40865ab0c5ff1ae10da8cdf3a92dd0c0f30b9d9cd950543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290a87a91f629f7e494517e011836881751f3cfb643380324d74303cc4e7673652150f523ec53efc928a2fc02306d102ea3e79f6c86700649ae8607989cece6ca42a1ea47d8a7df925145f80460da205d47cf3ed90ce00c935d0c0f3139d9cd948543d48fb14fbf24a28bf008c1b440ba8f9e7db219c01926ba181e6273b39b290348ceaa3005a674c1e4429102ce63f4ca01212403804c8d84303cc4f7673651f6919d54600b4ce983c88522059cc7e9940242480700991b08607989eece6ca3e5e460338d7cc1fe845d6cc38a9f7252d2c8aa4fde014c7620c0f313ed9cd947b489e5f1e85fac2885873c0694a4c72550557a5f8c02b32c5181e627eb39b28f51d4f16e9e25807c87dada8ca8af70ca4b6f1a7ee8058098b303cc4fe673651e93a9e2dd3c4b00f90fb5b519515ee19496de34fdd00b01316607989fcce6ca3d2014eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0a75a2a2fe150ece1be6591111d2d46c4047ddb80b0e516e07989fd4e6ca3d1814eb4545fc2a1d9c37ccb22223a5a8d8808fbb70161ca2dc0f313fa9cd947a3029d68a8bf8543b386f996444474b51b1011f76e02c3945b81e627f539b28f46053ad1517f0a87670df32c8888e96a362023eedc058728b703cc4fea73651e8c0336c82dcb7b36f998b2bb909138b6ebeb0c0377db0e6bae17989fd4f6ca3d17f66d905b96f66df33165772122716dd7d61806efb61cd75c2f313fa9ed947a2fe59c4641fb530411df9750c1c448be2f56f4339f3c39c8f86e627f53eb28f45fb3f9b20ec40c304f3bfb040307f75ede58ac8cfe4873ac30ecc4fea7e651e8bf50b489a8557e88c9f4c26a858f54a03c5c1d3fbc60e772a1e989fd4fdca3d17e91691350aafd1193e984d50b1ea94078b83a7f78c1cee543d313fa9fb947a2fd22d226a155fa2327d309aa163d5280f17074fef1839dca87a627f53f728f45fa45a44d42abf4464fa613542c7aa501e2e0e9fde3073b950f4c4fea7ee51e8bf48409c010254eb4cac8f30ad874afe6456c982185de77445ea89fd4fdda3d17e8f0d4a5ab180391c10eb2783068c5af0a83f468cb8ceea2fd613fa9fbc47a2fd1d1a94b56300723821d64f060d18b5e1507e8d19719dd45fac27f53f788f45fa3a35296ac600e47043ac9e0c1a316bc2a0fd1a32e33ba8bf584fea7ef11e8bf4746a52d58c01c8e087593c183462d78541fa3465c677517eb09fd4fde23d17e8e860b803c4d9f443c67f3e5860bc0d327ea0ab2789eea4a1623fa9fbc57a2fd1cf4d8260368a4b0a44cb42d8b96e788cf7ed98ab10dd4ae6c57f53f78bf45fa39d27171919eaf89741634bd96ad34f41ea8773b21eba97718bfea7ef18e8bf47394e2e3233d5f12e82c697b2d5a69e83d50ee7643d752ee317fd4fde31d17e8e72286ebd148244dfbd59f58da3439b2fa4ca112477ea5f6a30fa9fbc64a2fd1ce350dd7a290489bf7ab3eb1b4687365f49942248efd4bed461f53f78c945fa39c62dcd4cfedf7601ad349c5e8504cae68dd486eddca97f4cc4ea7ef1938bf4738b5b9a99fdbeec035a6938bd0a0995cd1ba90ddbb952fe9989d4fde32717e8e71643478ca8543a896c9f37a20c0989c231fe5e136fa5fed714a9fbc64f2fd1ce2b12a171fd7ed795910b356c100971ac5ea8fe82dc4bff522a53f78c9f5fa39c552542e3fafdaf2b22166ad82012e358bd51fd05b897fea454a7ef193ebf4738aa4a85c7f5fb5e56442cd5b04025c6b17aa3fa0b712ffd48a94fde327d7e8e7154211de898cd1f2f402671887841eb8aeff43672df5ffc35539fbc64fbfd1ce2a7423bd1319a3e5e804ce310f083d715dfe86ce5bebff86aa73f78c9f7fa39c54e1089fb100adf3fb8668c49d8fe0c53ba7d1c277a7ff2794f7ef193f0f4738a9b2113f62015be7f70cd1893b1fc18a774fa384ef4ffe4f29efde327e1e8e715364227ec402b7cfee19a312763f8314ee9f4709de9ffc9e53dfbc64fc3d1ce2a6c1062312d2d5c807b012876bfe6c0c5ce952397d0ff956e7cf78c9f88a39c54d720c4625a5ab900f60250ed7fcd818b9d2a472fa1ff2adcf9ef193f114738a9ae4188c4b4b57201ec04a1daff9b03173a548e5f43fe55b9f3de327e228e71535c0f23e2164146868fd609ddf72c64566f555f1a84fcad17e8bc64fc461ce2a6b71e47c42c828d0d1fac13bbee58c8acdeaabe3509f95a2fd178c9f88c39c54d6e3c8f8859051a1a3f582777dcb19159bd557c6a13f2b45fa2f193f118738a9adc0531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70a62d2bdc12d6e6cfa2a2f62b301b6eaae766049cad4c68dc64fc463ce2a6b6e14c5a57b825adcd9f4545ec566036dd55cecc09395a98d1b8c9f88c79c54d6dc298b4af704b5b9b3e8a8bd8acc06dbaab9d981272b531a37193f118f38a9adb8531695ee096b7367d1517b15980db75573b3024e56a6346e327e231e71535b70323f8488e93969876f691e23267996a593a86099ad4e0cdd64fc463de2a6b6df647f0911d272d30eded23c464cf32d4b2750c1335a9c19bac9f88c7bc54d6dbe55106ad07b4828d58a6aa08490448290fae3de63b539d77693f118f88a9adb7b36332e4dccf2d462e19b690116e72d1ca20a18c46a7552ee27e231f21535b6f56c665c9b99e5a8c5c336d2022dce5a3944143188d4eaa5dc4fc463e42a6b6dea64df11e40a2dd4435333cbfc51fadc6d346abf0ea9d6efb99f88c7c954d6dbd355d07c74eabe2b3e732dbff09a53e0d51517da1a53af83743f118f93a9adb7a537b35196abded934b321a7d92b05e9a4d6721031a760aae97e231f28535b6f496f66a32d57bdb26966434fb2560bd349ace420634ec155d2fc463e50a6b6de926adf9f0785dde78a994cc75ca275ce8e060a9cc39d844fa6f88c7ca24d6dbd2361d196bbe21e51ccff5fb6b13b49c516b85795843b0a434ef118f9459adb7a454fb586249a9f2651cb85955a6cf1b2281cf1870576162a9ee231f28c35b6f4892b7d64f60ba0cf5b63d152acd0418c4ae6256a07ec2df93ec463e5196b6de91156fac9ec17419eb6c7a2a559a0831895cc4ad40fd85bf27d88c7ca32d6dbd2223a07ec8504e5c0255c0b72ab3764592644d8041cb0b988fc118f9466adb7a443002231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0088c6db80b80c0a13743539949b691cd7c990d985d2d7e48c7ca3396dbd221401118db70170181426e86a732936d239af9321b30ba5afc918f94672db7a442802231b6e02e030284dd0d4e6526da4735f264366174b5f9231f28ce5b6f48850044636dc05c060509ba1a9cca4db48e6be4c86cc2e96bf2463e519cb6de910a0014d9342d8e6e8ccb40fb618c91c744d275d33582d2d9888d7ca3396ebd2213ff29b2685b1cdd199681f6c319238e89a4eba66b05a5b3111af94672dd7a4427fe5364d0b639ba332d03ed8632471d1349d74cd60b4b662235f28ce5baf4884ffc32dbfa1949d6e911d4a1345c84984e8e5adc081396cde86ce519cb76e9109ff765b7f43293add223a94268b909309d1cb5b810272d9bd0d9ca3396edd2213fee57824111fdbe26ff1f4af96a08bf623417b27c4b5b3945b494672ddca4427fdb3b16dad0d1ded0b60b5c1acc07dcec62dba75493b6742f6a28ce5bba4884ffb502400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed209003939e880908f8df97640186003018e441491b3a80b554672ddd64427fda412007273d101211f1bf2ec8030c006031c882923675016aa8ce5bbac884ffb482400e4e7a202423e37e5d90061800c0639105246cea02d5519cb7759109ff6904801c9cf4404847c6fcbb200c300180c7220a48d9d405aaa3396eeb2213fed201c15ec4b5e6b8bb0ac5d8bf97c5e58139083a5183a825955672ddd65427fda3f382bd896bcd7176158bb17f2f8bcb02721074a307504b2aace5bbaca84ffb47e7057b12d79ae2ec2b1762fe5f179604e420e9460ea0965559cb7759509ff68fc6cc1bb07c9bee03d2fb287c3d950e897305f84bed4146eac396eeb2b13fed1f76595cebc69e043322c2b377fa8fff9290d01657aa82a815972ddd65727fda3ed573df625aa23091c251c96f7485e1a4cc64526f25056a6b3e5bbacaf4ffb47d93a8e44f82aa894f016ff55e6871a5c9438cca9e1a0aef168cb77595f9ff68fb1012ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d84097714e95d9d64bfd6269e2824970918eedd7e020afc3694b7759601ff68fb0812ee29d2bb3ac97fac4d3c50492e1231ddbafc0415f86d296eeb2c03fed1f61025dc53a5767592ff589a78a0925c2463bb75f8082bf0da52ddd65807fda3ec204bb8a74aeceb25feb134f14124b848c776ebf01057e1b4a5bbacb00ffb47d8402383a742b038ceb52f300a7a3fceb9899a1a3c1dafc50d4c77596020f68fb07f47074e8560719d6a5e6014f47f9d73133434783b5f8a1a98eeb2c041ed1f60fe1a20f5b79745bd8c898651e0f5990e2114ab4c73bf15d932dd658084da3ec1fb3441eb6f2e8b7b19130ca3c1eb321c42295698e77e2bb265bacb0109b47d83f66883d6de5d16f63226194783d664388452ad31cefc5764cb7596021368fb07ec5d1a066990906f1c18f8b6ffa3269903519cbf9af8b06d97eb2c0427d1f60fd74646657ff78360effeb795f73cab5a014f7bdb32f1627f30d6580850a3ec1fad189f23acc5694497ca3553e66fb4dbfd4b3a1262e2c6a262acb010a247d83f59313e47598ad2892f946aa7ccdf69b7fa967424c5c58d44c5596021448fb07eb2627c8eb315a5125f28d54f99bed36ff52ce8498b8b1a898ab2c042891f60fd64510b761301aca7761e70c72b740507e50612ef141636b716658085133ec1fac72e2944d2d9bbd1a409a7b64ede6837c4b8683a252c6f122dcb010a277d83f58d5c5289a5b377a348134f6c9dbcd06f8970d0744a58de245b9602144efb07eb1a44b76bf83d51c947f36501336fff070d8de34491b1bdecb82c04289ef60fd6331581309d51061547b3902a5ed65c3615c808e520637d7d715808513eec1fac652b02613aa20c2a8f672054bdacb86c2b9011ca40c6fafae2b010a27dd83f58ca5604c2754418551ece40a97b5970d857202394818df5f5c5602144fbb07eb194381bdd975e932cf569477aeea93fd8a8ec8985001bed8f8bc04289f860fd63277037bb2ebd2659ead28ef5dd527fb151d9130a0037db1f17808513f0c1fac64e6c81cf0a50af368d71e413b29b5d8a9e5e686ffd6fb7e230010a27e283f58c9b6515f6c177c0efd2b08e4f5d2d193d3769133bf7df71686102144fc607eb1935563e462fc5e4625d2de2c6b25090a2697e68d3ecbee474c304289f8d0fd63269388ee50c622b4772288bb55c977f6ccda91403d67dca8d8708513f1b1fac64d1711dca18c4568ee451176ab92efed99b522807acfb951b0e10a27e363f58c9a26e4decde5f0fa0806ef4fd6a545bdb3150926b56f72bda1d2144fc6d7eb1934368ae32699481c3b8aab022cc9f15de5d4d6732aaee59583b4289f8dbfd6326855d6ebd7fff660a2922266d913489e4b54710c152dcb454778513f1b8fac64d0946efd3acd52e970a1113031a5f71f1653a63dea2b96a4cf00a27e372f58c9a1119f2000680bfb0cbeeec2e2cb5420ac5210a194272d63de1144fc6e6eb19342133e4000d017f6197ddd85c596a84158a42143284e5ac7bc2289f8dcdd632684267c8001a02fec32fbbb0b8b2d5082b1484286509cb58f784513f1b9bac64d0845ba258e0dc6009174427995da06e7e23b493261096b39309a27e373858c9a10743570a6e8f2294e655155ab3373b24421568a81e2d68ca1444fc6e71b193420d12c06d89f4a7ac8476f0dd5e64d4707ed713ac395ad3382989f8dce4632684192580db13e94f5908ede1babcc9a8e0fdae275872b5a6705313f1b9c8c64d08324b01b627d29eb211dbc375799351c1fb5c4eb0e56b4ce0a627e373918c9a10642215c4fc7b9fe6db844d12eb1d01abf164dfbdc7d69b654d4fc6e724193420c7442b89f8f73fcdb7089a25d63a0357e2c9bf7b8fad36ca9a9f8dce483268418e14696c9ec4e21e25ddfa73a46a64d7c03fc1531c5a6f39363f1b9c9164d0831b28d2d93d89c43c4bbbf4e748d4c9af807f82a638b4de726c7e373922c9a1063651a5b27b1388789777e9ce91a9935f00ff054c7169bce4d8fc6e724593420c6c2f5dbda2fd7373e6bc99c51b4984e5fcaa4cf4dfd37b6db2f8dce48c268418d75ebb7b45fae6e7cd79338a369309cbf95499e9bfa6f6db65f1b9c9184d0831ae49894f38cc305252bf2d3c651c71bfed55762f7c4def5acce37392319a10635b1f24f71e6ec3275d4b20a0c22f41a7d5572ebaf59be0599ac6e724643420c6b53e49ee3cdd864eba964141845e834faaae5d75eb37c0b3358dce48c868418d6a08a63526916f202cf948ab00b364c75008fd47d36f830a6c1b9c9191d0831ad3114c6a4d22de4059f291560166c98ea011fa8fa6df0614d837392323a10635a62298d49a45bc80b3e522ac02cd931d4023f51f4dbe0c29b06e724647420c6b4c4531a9348b790167ca4558059b263a8047ea3e9b7c185360dce48c8e8418d6981675ab15ed5485876150d8032caa9cfb3c16d933f8324ac2b9c9191e0831ad2f2ceb562bdaa90b0ec2a1b006595539f6782db267f06495857392323c10635a5e59d6ac57b552161d8543600cb2aa73ecf05b64cfe0c92b0ae724647820c6b4bc3fbfb15c4106aef2d74ce8115bb30fd48cf9259cc193fa16ce48c8f1418d69770b91bb65586fe09d7b5ff81aadc447a3c634a7368329982e9c9191e3831ad2ed172376cab0dfc13af6bff0355b888f478c694e6d0653305d392323c70635a5da2e46ed9561bf8275ed7fe06ab7111e8f18d29cda0ca660ba7246478e0c6b4bb45c8ddb2ac37f04ebdaffc0d56e223d1e31a539b4194cc174e48c8f1c18d69768452e0f025d608c8f82c5a9a2d2a2a2370f8ccf65329b26eac9191e3931ad2ecf166e76b191239bd6d2517b3d9ba36c68cb5bfac76537f1d692323c73635a5d9d2cdced63224737ada4a2f67b3746d8d196b7f58eca6fe3ad246478e6c6b4bb3a59b9dac6448e6f5b4945ecf66e8db1a32d6feb1d94dfc75a48c8f1cd8d6976743f860e395f7f616e5f5201e4d3798b410722323829c132b59191e39c1ad2ece70b1e751f956145948b6a2bc19d513e7cba86c06d5384096c2323c73935a5d9cd163cea3f2ac28b2916d457833aa27cf9750d80daa70812d846478e726b4bb39a2c79d47e558516522da8af067544f9f2ea1b01b54e1025b08c8f1ce4d697673458f3a8fcab0a2ca45b515e0cea89f3e5d436036a9c204b61191e39c9ad2ece683df9aaa62c76dc008368e411cb720fc654ae62d238423ac3323c73945a5d9ccf0805adf92f503ab8d397f01b8d424787559f21a1708619876478e729b4bb399d100b5bf25ea07571a72fe0371a848f0eab3e4342e10c330ec8f1ce536976733a2016b7e4bd40eae34e5fc06e35091e1d567c8685c218661d91e39ca6d2ece674402d6fc97a81d5c69cbf80dc6a123c3aacf90d0b8430cc3b23c7394da5d9cce80c6d383fcb662e45064529b0ca82a0700634761408633c77478e729c4bb399cf18da707f96cc5c8a0c8a5361950540e00c68ec2810c678ee8f1ce5389767339e31b4e0ff2d98b9141914a6c32a0a81c018d1d850218cf1dd1e39ca712ece673c6369c1fe5b31722832294d865415038031a3b0a04319e3ba3c7394e25d9cce7852e5dca98cc567083118c3049e882efb0f89bd3d86356b7578e729c5bb399cef31de11ffefed50c82ef7ae01336e85f0cb55d6780c6c7aebf1ce538c767339dd63bc23ffdfdaa1905def5c0266dd0be196abacf018d8f5d7e39ca718ece673ba538aa0ac9617c5d888a4dffcc4183fbdd999b5dd31b38fb0c7394e32d9cce77333279a0602920e68de0fe7f17e8ea7765f75c7b76368c3628e729c66b399cee5664f340c05241cd1bc1fcfe2fd1d4eecbeeb8f6ec6d186c51ce538cd67339dca58b0c0c4e0aabc5b4505c7bdf098c5d42a197ada8da4b18b39ca719bce673b933d73da3697b7fb6e56d1b773d78fb3a3007551b21b4b07177394e3389cce772506fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee490df41a340ba4f328f4d32dbf4afb1e815a59fec26d2f645fce538ce47339dc921be834681749e651e9a65b7e95f63d02b4b3fd84da5ec8bf9ca719c8e673b92437d068d02e93cca3d34cb6fd2bec7a056967fb09b4bd917f394e3391cce772486fa0d1a05d279947a6996dfa57d8f40ad2cff613697b22fe729c672399cee4906b53fbed90b1b54719f903eca610101051e24823d2f7e9fde538ce48339dc91f62ba5087f7c5ed4600b82fd1427e481b5006ec44a5f177fcca719c91673b923d5186f9bcc5ee5d43ce36879a7b5ab8314c5034864be493fa94e33923ce7724792f204c26623f3d3f6933372ced13985d44e2c50997cacbf629c672489cee48f15e40984cc47e7a7ed2666e59da2730ba89c58a132f9597ec538ce49139dc91e2489389465f5f77b5719304abaaac896fbfcd70235f2cd3d9a719c92373b923c31d396b3995217222afec314f4bb73ada2bdd3c43be5b4bb44e339247e77247853a72d6732a42e4455fd8629e976e75b457ba78877cb697689c67248fcee48f0a00f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c07c02c9957425a1463b769a929d89b1addba685fcb769691c6724904ee48f0980f805932ae84b428c76ed35253b13635bb74d0bf96ed2d238ce49209dc91e1301f00b2655d0968518edda6a4a7626c6b76e9a17f2dda5a4719c92413b923c2603e0164caba12d0a31dbb4d494ec4d8d6edd342fe5bb4b48e33924827724784c0081522424a8823fe083cc28a93e7d9a887e8e1f9b76b0d1d6724904fe48f097f102a4484951047fc1079851527cfb3510fd1c3f36ed61a3ace49209fc91e12fe205489092a208ff820f30a2a4f9f66a21fa387e6ddac34759c92413f923c25fc40a9121254411ff041e614549f3ecd443f470fcdbb5868eb3924827f24784bf80d647cd17ee4c298509250a134dbc2832ad07b9876b275d7724904ff48f097ef1ac8f9a2fdc98530a124a14269b7850655a0f730ed64ebaee49209fe91e12fde3591f345fb930a6142494284d36f0a0cab41ee61dac9d75dc92413fd23c25fbc6b23e68bf72614c284928509a6de14195683dcc3b593aebb924827fa4784bf78625a25c4c4aeac3cd5eb320b441a502d594a15846b29017824904ff58f097eef50c6a4365fbfdb31789c8c0e7e92c8555ed68705d653a6f149209fec1e12fddd2d9fa11995e2391abdff4014f383b8a569ef6a08aca8f1e392413fd93c25fbb95b3f42332bc472357bfe8029e707714ad3ded4115951e3c724827fb2784bf7724290dd132deb6722c4c3284bc46d0a905400041fb2a56b8f4904ff65f097eee3113412d3323950fd564c788f7f383d1b5442643c654c7b1f9209fecce12fddc5226825a66472a1faac98f11efe707a36a884c878ca98f63f2413fd99c25fbb8a44d04b4cc8e543f55931e23dfce0f46d510990f19531ec7e4827fb3384bf771415b2ef46682d0aa27f29ec73f02010d54e557de02a657cfd904ff668097eee272b65de8cd05a1544fe53d8e7e04021aa9caafbc054caf9fb209fecd012fddc4e56cbbd19a0b42a89fca7b1cfc08043553955f780a995f3f6413fd9a025fbb89c39a9d2e017cad7cbc6158b97775eaea51eee4afe532d8bed827fb3414bf771377353a5c02f95af978c2b172eeebd5d4a3ddc95fca65b17db04ff668297eee26e72b9a42d358de1e6e51c5655d3d8e28f27fb87f64cb7d3b709fecd062fddc4db7185a107417e468596fed4a39e0fed18fc396be999714b6f13fd9a0d5fbb89b56f1d9abb595f0fc2fac3d13f327e022ca4b533d032e43adf27fb341bbf7713696a4d8e238920a23dc24dca765b5a2c53f5acc39d65ca19bf4ff668387eee26d160ad74f3e8a3c7335161bce4ad1280a2979be337cb95d77f9fecd071fddc4da14d6d4294a7aa111e6f89a1c15083293fdb7a226c972d53003fd9a0e4fbb89b4126ecddd625b6a4f4abd96b7a97647a7a6336a0d62e5c4a017fb341caf77136814dd9bbac4b6d49e957b2d6f52ec8f4f4c66d41ac5cb89402ff668395eee26d0227c5d0056d3d168a7c2bd5e253f011e4391cdf55b972cc06fecd072cddc4da034f8ba00ada7a2d14f857abc4a7e023c87239beab72e5980dfd9a0e59bb89b4062b2998c28b56dce1bd757f81461e6f8b90b5d953e5ccd41cfb341cb47713680b5653318516adb9c37aeaff028c3cdf17216bb2a7cb99a839f6683968ee26d01638b8bbb703bdf63ec29c25fd0ed7e628ef19c14c9734f474ecd072d2dc4da02b7171776e077bec7d85384bfa1dafcc51de3382992e69e8e9d9a0e5a5b89b40566ef54788e55a5bb2d736bfec31bdc09e68a9612f5cd575d4b341cb4c713680ab69fce7bea1173a1d7b33a7d059d9a9377d951e5bb9ac8faa66839699e26d0155600c282a1890f6f2c32d7798aa117a69a76c98b4735ac355cd072d34c4da02a94c2aa9010784709d532117294a811ccdfb1b8d65e6b72aac9a0e5a6a89b405512467aaaee56b63f27308564a8b606196a27976c8cd6ff95a341cb4d613680aa148cf555dcad6c7e4e610ac9516c0c32d44f2ed919adff2b4683969ac26d015421db103686c10128198e7812223dfae553628372035c18969d072d3594da02a833b6206d0d820250331cf024447bf5caa6c506e406b8312d3a0e5a6b29b40550602d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d0154160b59993a1a8b32f8c190b2021773853e138ce1f75c1f26a1072d3598da02a82c16b33274351665f1832164042ee70a7c2719c3eeb83e4d420e5a6b31b40550582d6664e86a2ccbe30642c8085dce14f84e3387dd707c9a841cb4d663680aa0b05accc9d0d45997c60c859010bb9c29f09c670fbae0f935083969acc6d015416041abec4e7f15b243e5d148196d967bdbe5107b72c1f40e1172d3598ea02a82bf0f6a3149d48de73f9868b82ad18b1fb2766352e283e9c023e5a6b31e4055057d1ed46293a91bce7f30d17055a3163f64ecc6a5c507d38047cb4d663c80aa0afa3da8c52752379cfe61a2e0ab462c7ec9d98d4b8a0fa7008f969acc79015415f40763e2fb7ad1bcb4900be94e82b7258e5f5cf3111f4fa5202d3598f302a82be70ec7c5f6f5a379692017d29d056e4b1cbeb9e6223e9f4a405a6b31e6055057ce1d8f8bedeb46f2d2402fa53a0adc96397d73cc447d3e9480b4d663cc0aa0af9c3b1f17dbd68de5a4805f4a7415b92c72fae79888fa7d290169acc79815415f3802508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde094221920df938033612f380874203828846343bd3efd80f4d663cc4aa0af9bc128443241bf270066c25e7010e840705108c6877a7dfb01e9acc79895415f3782508864837e4e00cd84bce021d080e0a2118d0ef4fbf603d3598f312a82be6f04a110c906fc9c019b0979c043a101c144231a1de9f7ec07a6b31e6255057cde0203471cdb5f602eb2df560006a7e602330a59fba3eff24f5d663cc4ba0af9bbf4068e39b6bec05d65beac000d4fcc046614b3f747dfe49ebacc79897415f377e0ce41fe3ae3a8e64849ba7f9a057a8876ed8dae5fbfe37d8598f312f82be6efb19c83fc75c751cc909374ff340af510eddb1b5cbf7fc6fb0b31e625f057cddf633907f8eb8ea3992126e9fe6815ea21dbb636b97eff8df61663cc4be0af9bbec6720ff1d71d4732424dd3fcd02bd443b76c6d72fdff1bec2cc79897c15f377d85a5456e7ba0b69001680a791fbd8b07199d00a5cbfe5218698f312f92be6efaf40bb067c4a7954b7f9c7771bee0f88dddfe270b67fcbe70e31e625f357cddf5d0d8865a56b552c27c055162fd27d39b66c073d69ff99721d63cc4be7af9bbeb91b10cb4ad6aa584f80aa2c5fa4fa736cd80e7ad3ff32e43ac79897cf5f377d7236219695ad54b09f015458bf49f4e6d9b01cf5a7fe65c8758f312f9ebe6efae46c432d2b5aa9613e02a8b17e93e9cdb36039eb4ffccb90eb1e625f3d7cddf5c86498b3038bb54533d2178af51e31c3616cb6329cf998c5d73cc4be7bf9bbeb8f5543beb3edcd0d1f70f53de232c1aebd85aec136f3332faf79897cf8f377d71d3699d614b1fc9cf6aeb0a3bc5be18575b79fde6ae668035ff312f9f2e6efae396d33ac2963f939ed5d614778b7c30aeb6f3fbcd5ccd006bfe625f3e5cddf5c726679b0ff9e54f6928788b6e965e43dd18ac1d5a899a1b180cc4be7cc9bbeb8e35905baac130c6fdcdbd795cac226a39dc1c6074e334507029897cf9a377d71c53e1dce04fc7b62718475538d7aab6f362fce6a99668bb206312f9f356efae389084df4b6cf59479ad5b0cf12ebb506670bdf312fcd19080d625f3e6bddf5c711109be96d9eb28f35ab619e25d76a0cce17be625f9a32101ac4be7cd7bbeb8e222137d2db3d651e6b56c33c4baed4199c2f7cc4bf34642035897cf9af77d71c44426fa5b67aca3cd6ad8678975da833385ef9897e68c8406b12f9f35eefae388810f1a419cbf6fc6527d31926b1ae8e6b6a356ef9d19224d725f3e6bedf5c710f21e3483397edf8ca4fa6324d635d1cd6d46addf3a32449ae4be7cd7dbeb8e21e43c690672fdbf1949f4c649ac6ba39ada8d5bbe74648935c97cf9afb7d71c43c139f797b361a65e10b5ef12d83d29b55fdedd3cb8c92caba2f9f35f7fae38877273ef2f66c34cbc216bde25b07a536abfbdba797192595745f3e6beff5c710ee4e7de5ecd86997842d7bc4b60f4a6d57f7b74f2e324b2ae8be7cd7dfeb8e21dc290e24868735b1c027bdb16414f302aa9bb0fa596497f9d27cf9afc0d71c43b7521c490d0e6b63804f7b62c829e605553761f4b2c92ff3a4f9f35f81ae38876e304aeac6f33949b86bbced884a2a32a51b06456292618b4af3e6bf045c710edb6095d58de6729370d779db109454654a360c8ac524c31695e7cd7e08b8e21db64d3e03c8a347a9997bb9de191f06f28f185b71874987d12ccf9afc1271c43b6b268e603e1cf1d5eac439e42a346c0d18dcf93f0b9311465a9f35f825e38876d54d1cc07c39e3abd58873c85468d81a31b9f27e1726228cb53e6bf04bc710edaa264bd9a54a29da62ddadb8a0c80e5c5e2027582b4c46bd6b7cd7e0988e21db534c97b34a9453b4c5bb5b7141901cb8bc404eb056988d7ad6f9afc1311c43b6a62541bf41ff09ec43437d0a7b169799732cdfbcaa311c99aef35f826338876d4b4a837e83fe13d88686fa14f62d2f32e659bf79546239335de6bf04c6710eda96211955b4d28a33c4daba51e450bc8dc75fc14ea5c4740abccd7e098de21db52b4232ab69a5146789b574a3c8a1791b8ebf829d4b88e815799afc131bc43b6a561077af80208b51cb37af6f8939505f182b47969411d1cef435f826388876d4ab20ef5f004116a3966f5edf1272a0be30568f2d2823a39de86bf04c7110eda95641debe00822d472cdebdbe24e5417c60ad1e5a5047473bd0d7e098e221db52ac0fcfd4addabd11118a41a441c0e120bc067f109d8e901ba2afc131c543b6a5571f9fa95bb57a22231483488381c241780cfe213b1d2037455f82638a876d4aae3f3f52b76af4444629069107038482f019fc42763a406e8abf04c7150eda955c0a90fe1bac4b0b441ed34a05fd672ddae03ae0e9748281167e098e2b1db52ab71521fc37589616883da6940bface5bb5c075c1d2e905022cfc131c563b6a556e2a43f86eb12c2d107b4d2817f59cb76b80eb83a5d20a0459f82638ac76d4aadc5487f0dd62585a20f69a502feb396ed701d7074ba41408b3f04c7158eda955b835223a679b1336f9b9fac857ccd105a8aff06a944829b568e098e2b2db52ab6f6a4474cf36266df373f590af99a20b515fe0d52890536ad1c131c565b6a556de609b424b42af5e9eb4b1495729a23e9d6c04064e20a879a482638acc6d4aadbb4d48dd435bc13ff53628baa649a2a535844a68994152974a04c71599da955b7526a413338de502a239179d4489a37265b4d72d2f82a6d295098e2b34b52ab6e94d4826671bca0544722f3a891346e4cb69ae5a5f054da52a131c56696a556dd226a2a57b0df68d40b1249d0a1cebf1917f9f10bb0a9cee552638acd3d4aadba34d454af61bed1a8162493a1439d7e322ff3e21761539dcaa4c7159a7a955b746269cee990e3cb7ba91589c206a0dee40aabe9ee92a755d5598e2b35052ab6e8b4d39dd321c796f7522b13840d41bdc81557d3dd254eabaab31c566a0a556dd16268613110f5561a2122898799e95e0fd573cd7a1a9d71957638acd424aadba2b4d0c26221eaac344245130f33d2bc1faae79af4353ae32aec7159a84955b7456262aa4f113b80940156889de70b5abf00935ba83a75e095e8e2b350a2ab6e8ab4c5549e2277012802ad113bce16b57e0126b75074ebc12bd1c566a14556dd15624bcec712542a7b822684f71b934d7bad119460b9d79c97b38acd429aadba2ab4979d8e24a854f7044d09ee37269af75a2328c173af392f67159a85355b745561f060a716b6d2198566765bedb3186e5f0a7742b75e8c9ede2b350a7ab6e8aab3e0c14e2d6da4330accecb7db6630dcbe14ee856ebd193dbc566a14f56dd1556082a8272841709192663bef3632443926ee02caad7a4cbb88acd429fadba2aab105504e5082e12324cc77de6c6488724ddc05955af499771159a853f5b74555620aa09ca105c2464998efbcd8c910e49bb80b2ab5e932ee22b350a7eb6e8aaac4154139420b848c9331df79b19221c9377016556bd265dc4566a14fd6dd155580eba7fd517d3144a3302172e28a261219a4526aa7a4e5f89acd429fbdba2aaaf1d74ffaa2fa6289466042e5c5144c243348a4d54f49cbf1359a853f7b745555e3ae9ff545f4c5128cc085cb8a289848669149aa9e9397e26b350a7ef6e8aaabc01e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee07995d5653ec9425935b85a4edc4c41df9ae454349d281399a853f7f745555dc0f32baaca7d9284b26b70b49db89883bf35c8a8693a50273350a7efee8aaabb81e6575594fb250964d6e1693b7131077e6b9150d274a04e66a14fdfdd15557703ccaeab29f64a12c9adc2d276e2620efcd722a1a4e9409ccd429fbfba2aaaee005a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf0b505c242a578a2204fd048da554d3b48e4d60633a536f3550a7eff08aaabb7e16a0b84854af144409fa091b4aa9a7691c9ac0c674a6de6aa14fdfe1155576fc2d417090a95e288813f4123695534ed23935818ce94dbcd5429fbfc22aaaedf85a82e12152bc511027e8246d2aa69da4726b0319d29b79aa853f7f845555dbf041181aef7bdb24d81c9670d24bab634391186230a53897560a7eff09aaabb7df0e428e8bce18cc6805f3099c8db4ee81ce73205e4a72d2ad14fdfe1455576fbd1c851d179c3198d00be613391b69dd039ce640bc94e5a55a29fbfc28aaaedf7a390a3a2f386331a017cc267236d3ba0739cc817929cb4ab453f7f851555dbef47214745e70c663402f984ce46da7740e739902f253969568a7eff0a2aabb7de8703b4169b7ef49382bf6c1c0d1ad1017937461e1a72eced24fdfe1465576fbcf6c88db804641152824b3ab7999b84829d32b1fc04e5f41a59fbfc28daaedf79d65240fad62e4ad08162d7eeb29ceb84e52989b7d9cc0274c3f7f851c55dbef39565a78079c2bdcc7f92125ce49fb9897517392f83981f2997eff0a39abb7de7138c748bc0eba3c47bf0873948a5559294f2981ed73058933fdfe1474576fbce1718e91781d74788f7e10e72914aab2529e5303dae60b1267fbfc28e8aedf79c26f2f7b9d114b73d6c8e7f64a1fb38c9fe8e863b2cc17c8d0f7f851d25dbef3836a714fe6f8f96a655e96148c35c5413a7e132362983135a2eff0a3a5bb7de70560f4f87ac855578289f2511061e8aa6fa868a2c230640f46dfe1474c76fbce094dfc49a2670d31bce0aaca18ba2f7cd9fd13a18160c9c28ebfc28e99edf79c11280aebf1a47ce6318e1bbc296abd21aea6699effc195291e7f851d34dbef38215015d7e348f9cc631c377852d57a435d4cd33dff832a523cff0a3a69b7de70422c3e087368561b7e0535189da152aeb545e8d7fc0656487afe1474d46fbce083587c10e6d0ac36fc0a6a313b42a55d6a8bd1aff80cac90f5fc28e9a8df79c1063d0a7a7a77baf0afe19a8a6e7ba8e2cfc3e5bbed195ac5ecf851d352bef3820b06274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de704150c4e9b438bb0c82f1ff679a9db5fdb34681ba7ae656e5fb5e1474d4cfbce082a189d36871761905e3fecf353b6bfb668d0374f5ccadcbf6bc28e9a99f79c1054313a6d0e2ec320bc7fd9e6a76d7f6cd1a06e9eb995b97ed7851d3533ef3820a86274da1c5d864178ffb3cd4edafed9a340dd3d732b72fdaf0a3a6a67de70415050fc0ce5916f05a9cc2dc295ac5bdb412dfcd6e356e79f5f1474d4d0bce0829f2e0a7277f9408e0b6521ad234f15de7d083c09c3add0e2bf28e9a9a279c1053d5c14e4eff2811c16ca435a469e2bbcfa107813875ba1c57e51d35344f3820a7a443c228cbb64bae5614cdc8532b5a1eecd32830bb7452efda3a6a68ae70414f3148a9dc64d2bf8828f5fe1025bc96bd846a762146e8c01fc474d4d16ce0829e529153b8c9a57f1051ebfc204b792d7b08d4ec428dd1803f88e9a9a2d9c1053ca522a771934afe20a3d7f84096f25af611a9d8851ba3007f11d35345b3820a794306746df3fc246cc47c5300ad4a986bce17d6ca07461b3e33a6a68b770414f2760ce8dbe7f848d988f8a6015a9530d79c2fad940e8c367c674d4d16ee0829e4e4daf7429d56b9de8ebdae823490442ee32380e7ed188738de9a9a2dec1053c9b277141008139be89a47bf83e8866add710b278faa3128b1cd35345be820a79354ee2820102737d1348f7f07d10cd5bae2164f1f546251639a6a68b7d0414f26a29d75caedb497cde5eb608f217f8df56ef0c3fe78c4bd0744d4d16fb0829e4d353aeb95db692f9bcbd6c11e42ff1beadde187fcf1897a0e89a9a2df61053c9a6336fcb6843887631479e4bc05641a55668735b9b3130e5d235345bed20a7934b66df96d08710ec628f3c9780ac834aacd0e6b7366261cba46a68b7da414f269659d1864de4845b7ceb3f56f94f64bd544e0fca69c4c53b49d4d16fb5829e4d2b3fb565489f6b39b1a344d5ea9527a2a34861f0d0898c1a94a9a2df6c053c9a550b7d233e1538f61b134fd3cd20ad6d413d063d9e1319d92a5345bed90a7934a916fa467c2a71ec36269fa79a415ada827a0c7b3c2633b254a68b7db214f269522df48cf854e3d86c4d3f4f3482b5b504f418f6784c6764a94d16fb6429e4d2a45be919f0a9c7b0d89a7e9e69056b6a09e831ecf098cec9529a2df6c853c9a54843e48c8e29f1e46901c364ca0134fc0e7ca635de319f36a6345bed91a7934a8f13db71c92a464b89d04cf18bf8c82017a58ec7b96340114d68b7db244f26951d27b6e392548c9713a099e317f190402f4b1d8f72c680229ad16fb6489e4d2a3a4f6dc724a9192e274133c62fe320805e963b1ee58d004535a2df6c913c9a54742aede6f62894df064f2db457bc9f28b7d8b899c81a022e6c45bed9237934a8e755dbcdec5129be0c9e5b68af793e516fb171339034045cd88b7db246f26951ce37c9f48578b5fed1097cf956e8dacada0f24c31d680a5db216fb648ee4d2a39b6f93e90af16bfda212f9f2add1b595b41e49863ad014bb642df6c91dc9a547366b3a2ac2b93a7dfbf2ba0d5399c95362e8d56872a02b1ac95bed923c934a8e6b6286ae3248d77eafb23a429f29f0cec07ded2ce24057d993b7db247a26951cd5511fb51168118017313aad364a3fc57ba81cb5c180b157286fb648f54d2a39a92e51c2cfa68582e62f3b82648addb2f1fc7bc78001645251df6c91eb9a5473515ca3859f4d0b05cc5e7704c915bb65e3f8f78f0002c8a4a3bed923d734a8e6a2455963eb70788e5089b4318a21d4f3c29e3179fd0592ed487db247af6951cd4316c52083b7539f58e02e8b0c3a080f7fe8a54ff70b277e91fb648f5fd2a39a852d8a41076ea73eb1c05d161874101effd14a9fee164efd23f6c91ebfa547350a5b14820edd4e7d6380ba2c30e8203dffa2953fdc2c9dfa47ed923d7f4a8e6a14423b5cca90ff7d7ece3a8059c69ea3f9f16cdbb5593d9890db247aff951cd42710891241f8617db5693b28ab839b6fee8f1c1367b27cd522b648f6002a39a84d21122483f0c2fb6ad27651570736dfdd1e3826cf64f9aa456c91ec005473509a42244907e185f6d5a4eca2ae0e6dbfba3c704d9ec9f3548ad923d800a8e6a134105aeabc996e7063169f6d541339a76f2522f73a93e84d16b247b00251cd426720b5d57932dce0c62d3edaa826734ede4a45ee7527d09a2d648f6004a39a84ce416baaf265b9c18c5a7db5504ce69dbc948bdcea4fa1345ac91ec0094735099c0ee9ae91a1d605d081c19298902b6373d55a15d19f440cb6923d80138e6a13371dd35d2343ac0ba1038325312056c6e7aab42ba33e88196d247b00271cd4266e3ba6ba468758174207064a6240ad8dcf556857467d1032da48f6004e39a84cdc035fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e0d7f34e7944ac4ef6b4af2f1dee50e655c4c2a27e88826d647b00275cd4266dc1afe69cf289589ded695e5e3bdca1ccab898544fd1104dac8f6004eb9a84cdb835fcd39e512b13bdad2bcbc77b9439957130a89fa2209b591ec009d735099b706bf9a73ca256277b5a57978ef728732ae261513f444136b23d8013ae6a1336e06405a7261b0ed1ae81755715e4af0e507104fe7b888411657b00275dd4266dbf541da6f90c802614cfb0d623bfbc449b8e4c58f41109c6cbf6004ebca84cdb7d344da69eef62cee16c27d43f75d6b131c8db0de522153198ec009d7a5099b6f9689b4d3ddec59dc2d84fa87eebad626391b61bca442a6331d8013af4a1336df25d48f32893edbe3d7d6578f5cdb8ecc1cfae939188566a64b00275ea4266dbe346a43efdfe3dff32c79119e391d0017e4b9f832010ae78ca6004ebd584cdb7c5195ad6a8d2de811d5be85bbf19fe2af74381623d215e9595c009d7ac099b6f8932b5ad51a5bd023ab7d0b77e33fc55ee8702c47a42bd2b2b8013af581336df12656b5aa34b7a04756fa16efc67f8abdd0e0588f4857a565700275eb0266dbe2456e90df36d568ba2ac0905f0c64f7fb4c84d6de60af650af004ebd614cdb7c4739e47493b10f99fd24d833d982fd27643cdd37c915ee455f009d7ac399b6f88d73c8e927621f33fa49b067b305fa4ec879ba6f922bdc8abe013af587336df11a73a42afb9aa0eaac6026f75e0252c58b9fb73b2157bab97d0275eb0f66dbe233735aaea40ba458108d1416b3fb03b311ebb0d23faf7716fb04ebd61fcdb7c46572c7b5f4edab32d8e6ee555fec658e1e83a4007c5eefd1f709d7ac409b6f88c971a1c496b1b8e8699aa2d2b7cf294437b38a5cf5bde147ef13af588236df11916f55e1da39d4538b020bcd6794b0b06a135715e87bc433df275eb1056dbe23216abe1c614a0b29cdd0ddc2c71fbf88ced2f087cdf78a0bbf4ebd620bdb7c4641618e916f6a78d6536e81ad8635dd399852236b98ef15bb7f9d7ac418b6f88c814f2f7b8bab542f5ea9c9830462189b2b5089332ede2d1b003af588326df119012a714fc42d0ae17520592e00ba8f5e514d54c25abc5bda0175eb1065dbe2320154e29f885a15c2ea40b25c01751ebca29aa984b578b7b402ebd620cbb7c4640235d797bd8a8e088c4e2adffae09ba13fe1956567f1710c06d7ac41986f88c8036baf2f7b151c11189c55bff5c137427fc32acacfe2e2180daf588330df1190066370b7a3009aa4e90571a7e378ccacfa3297f19cc5c5d41c5eb10662be23200b52f3c7f2d797cc89d7a977bee7f781ef11723f368b8d4c39bd620cc67c46401531f9e89285921bcb7c191775c64d2bd8cf26da6a171c3c747ac4198df88c802963f3d1250b243796f8322eeb8c9a57b19e4db4d42e3878e8f588331bf119005253f9faf6ecaaf1e5bd2a85cf0f92d75de8ddc5a55c7295d2eb106638e23200a334064e9aafb86683471b33961583d6b67dfde747b8e6cfa6d620cc72c4640145680c9d355f70cd068e36672c2b07ad6cfbfbce8f71cd9f4dac4198e588c8028a5c2b931795441cc4e932f6504c6d82d4a439f91be39ce29c588331cc1190051344697edc00eabc419f2c14988f392da3f4b64e34c73b6939b106639923200a2514e55664d837fb3b0b1e512914d0834295aef8668e787674620cc7334640144929caacc9b06ff676163ca25229a106852b5df0cd1cf0ece8c4198e668c8028925395599360dfecec2c7944a453420d0a56bbe19a39e1d9d188331ccd19005124333d0bd398225c9025b8b1409ce2420f59ba1f3173c557a41066399b3200a247667a17a73044b9204b71628139c4841eb3743e62e78aaf4820cc73366401448e590687fb36ebf4f863a8ecfa69e73038132ad8c2cf1702914198e66dc802891b3e1f68a3443a6ca8941801ecca2c886ad2980d829e2fa9238331ccdc90051235085129f35ed75c08f4f62bd18ab738d0517277023c60f648066399ba200a246910a253e6bdaeb811e9ec57a3156e71a0a2e4ee0478c1ec900cc73374401448d22144a7cd7b5d7023d3d8af462adce34145c9dc08f183d920198e66e8802891a442894f9af6bae047a7b15e8c55b9c6828b93b811e307b240331ccdd1005123481124f7e2c3d843471c28e510a1d1b4ffc369cc20c611088166399ba300a2468f2249efc587b0868e3851ca2143a369ff86d398418c221102cc73374601448d1e4493df8b0f610d1c70a394428746d3ff0da730831844220598e66e8c02891a3c153a17c2f5249cf0ae0d507d04ebcff8c790bd033089e80c31ccdd19051234772a742f85ea4939e15c1aa0fa09d79ff18f217a066113d0186399ba320a2468ee54e85f0bd49273c2b83541f413af3fe31e42f40cc227a030c73374641448d1dc35e316c47f876a3d3d30abe01dbca7c0e8c844168450e4628e66e8c92891a3b76bc62d88ff0ed47a7a6157c03b794f81d190882d08a1c8c51ccdd1925123476e639eb3bed4802bacc188d7786d50c6fe4f636c571145358b399ba325a2468edb534fc02a7f62da114fd7d6e8d0ffb5f74b0934ab228c0f177337464c448d1db532b1d901d52836da6c75d5c9985d93e94254c5534519c22fe66e8c99891a3b696563b203aa506db4d8ebab9330bb27d284a98aa68a33845fccdd1933123476d256d9bcb42b035e217e9d7f1e57d4779fb595714a1468acc099ba32672468eda339c5d2152c693efaca012634a607173a176d3e9128d2fd82337464cf48d1db45738ba42a58d27df594024c694c0e2e742eda7d2251a5fb0466e8c99e91a3b68a7329a10188077ea2f4cac0ca8e7a84e309f75641a34d9a09cdd1933e23476d1372659aafe6717ffdb65ba98d135331c0c0310880469cd8149ba3267d468eda2570dd8e0ca34582b3397d7b121d048b7c2ca46cfd8d3b542a37464cfb8d1db4496dcd74c61ced881e3fc11e1c30673ef3058b35f81a784c556e8c99f81a3b689167ad4239103d92f44c486430572ca5e0b758c7ed34f23cabdd1933f13476d1215b6cdd1ef6dda8a06556f058a4b773bc1af3ebd769e61d58ba3267e368eda24142ec12eac41dd3f8977408a93fcd0f72e22a33abd3cddeb27464cfc7d1db448111ea7e825e9e2aa8fbae394a75f846e07096c354a79d6165e8c99f90a3b6890123d4fd04bd3c5551f75c7294ebf08dc0e12d86a94f3ac2cbd1933f21476d120247a9fa097a78aaa3eeb8e529d7e11b81c25b0d529e758597a3267e428eda24041b664cbfcb53d7ffaa37f24ba6205efe30f876a23cecaf30464cfc861db4480736cc997f96a7afff546fe4974c40bdfc61f0ed4479d95e608c99f90c3b68900e6d9932ff2d4f5ffea8dfc92e98817bf8c3e1da88f3b2bcc11933f21876d1201c6744beab310142b51e85ba5527611fec3406110ee7671d833267e431eda240375a9bd6033865082209d19ca2452067d3144e7e1acecfdf0764cfc864db44806d414a04b3472c92fbe069613c809ef7a0d4df58329da1620fc99f90cab68900d90ea6621364bba8af8d98ea70f79c173c56010c623b446820933f21966d1201b11d4cc426c977515f1b31d4e1ef382e78ac0218c47688d041267e432cda2403623a99884d92eea2be3663a9c3de705cf158043188ed11a0824cfc8659b44806c401456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c0a2b4a3fe1fe41a1cc6bdbfd99f70eeae255f876d127282ccfc865a344806c381456947fc3fc834398d7b7fb33ee1dd5c4abf0eda24e50599f90cb468900d87028ad28ff87f9068731af6ff667dc3bab8957e1db449ca0b33f21968d1201b0e0515a51ff0ff20d0e635edfeccfb8775712afc3b6893941667e432d1a240361c02ec6fcaaf6469cd49383e7d195cf16a8d1a1e36a127426cdfc865a354806c37f5d8df955ec8d39a92707cfa32b9e2d51a343c6d424e84d9bf90cb46a900d86fe472e4b58af7cf60a1ad5c73e4d9a829df2c9e9a549d23f38f21968d6201b0dfb1a6eef5e355c6ecc0271b67491932d3691d62f4793a62272e432d1ad40361bf534dddebc6ab8dd9804e36ce923265a6d23ac5e8f274c44e5c865a35a806c37ea69bbbd78d571bb3009c6d9d2464cb4da4758bd1e4e9889cb90cb46b500d86fd45f89d39e8145f917e053db9c82f791af3af3d6399d32b79821968d6b01b0dfa74b25ffe9d8ee74e78d6ddf30fc4d4b59222a08703a671331432d1ad70361bf4d225e5880883f6c86e7a1e659eef8beacf0966cdd74cfca63865a35af06c37e9944bcb101107ed90dcf43ccb3ddf17d59e12cd9bae99f94c70cb46b5e0d86fd32158bbaaef76034d36b4dc15fb24122ae6e9c0f72d340cd8f1968d6bd1b0dfa632b17755deec069a6d69b82bf6482455cdd381ee5a6819b1e32d1ad7a361bf4c6562eeabbdd80d34dad37057ec9048ab9ba703dcb4d03363c65a35af46c37e98c38702e2491642953273432f588673d6e2122d7939a081079cb46b5e9d86fd31770e05c4922c852a64e6865eb10ce7adc4245af27341020f3968d6bd3b0dfa62e6dd3113f1bf328046996f3ce17fb1db330cdba4b6821e5e82d1ad7a861bf4c5b67b87b2b0e48d2c09ff40f94265463610dddd093d0456fd15a35af51c37e98b55b834f02f2f428390cae47204306eebcc7fdfd24a08c83a3b46b5ea486fd31694318f6b2bc4ad329e622b6387c6c05743c3e5646411aab4868d6bd4a0dfa62d1124446124ef8290b990b9468ef3632e324bf08898236fa91d1ad7a951bf4c5a124888c249df05217321728d1de6c65c6497e1113046df523a35af52a37e98b42491118493be0a42e642e51a3bcd8cb8c92fc222608dbea4746b5ea546fd316841e34893f4e23cb149522cb3f700fbf13d23aa04911b9788f8d6bd4a9dfa62d073c69127e9c4796292a45967ee01f7e27a47540922372f11f1ad7a953bf4c5a0e04e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b09c8fb541de35e1442a2a9eb6d3a4893ea59ba428dcf0c7e6b5ea550fd3168361391f6a83bc6bc28854553d6da749127d4b374851b9e18fcd6bd4aa1fa62d06c2723ed50778d78510a8aa7adb4e9224fa966e90a373c31f9ad7a9543f4c5a0d84e47daa0ef1af0a215154f5b69d2449f52cdd2146e7863f35af52a87e98b41b028a20deeb49863fbf6f0c6aeca02b13951de0025dcf26be7b5ea5510d316835f51441bdd6930c7f7ede18d5d94056272a3bc004bb9e4d7cf6bd4aa21a62d06be2e9a9067a8c412a7a88942b31e68ecdff3ba5c9473cb539fd7a954444c5a0d7b5d3520cf5188254f511285663cd1d9bfe774b928e796a73faf52a88898b41af6467c9a4b7972cd566eeb32c47001db7a7b2bce4ecf2ef2805ea55112316835eb190b8d43c9481d64aa9c8d80d661deefa299f89a9e5f8901bd4aa22562d06bd532171a8792903ac955391b01acc3bddf4533f1353cbf12037a95444ac5a0d7aa642e350f25207592aa72360359877bbe8a67e26a797e2406f52a88958b41af54546ec2cb20a36ddd21aa93fea96d1f77c11220d1f2fdec0eea55112c16835ea734efde4317a95e72101b4ff5493866ea2e669da0e5fd7c1ed4aa22592d06bd4d69dfbc862f52bce420369fea9270cdd45ccd3b41cbfaf83da95444b25a0d7a9a5fd1d1b93507fc800d3367cd1b3fc3a365dcd28097f7947c52a88965b41af5334bb5fc1f40727bb7e72cf7922cddaf4177fc00fe2ff0ccf9a55112cc6835ea65237e50eb57477a279b20171c5019867d9c3a5df95fe33df44aa22599d06bd4c946fca1d6ae8ef44f36402e38a0330cfb3874bbf2bfc67be895444b33a0d7a9921a0b9c5a33806b563946846936c441f11d2bd3e27f8e9bd22a88966841af5323341738b46700d6ac728d08d26d8883e23a57a7c4ff1d37a455112cd0835ea646682e7168ce01ad58e51a11a4db1107c474af4f89fe3a6f48aa2259a106bd4c8c5c6f3b7e7265dd6996fa4b41ac80378395a0fb10fc7682925444b3430d7a991744f0cfa9bb2e3d8afababe7b4f5e9701d784521ef8eea925a88966871af5322d15f3f8004cbefdcdc23ba4ee951b55fe5b4b003af1def64c5112cd0f35ea64592be7f000997dfb9b847749dd2a36abfcb6960075e3bdec98a2259a1e6bd4c8b257cfe00132fbf73708ee93ba546d57f96d2c00ebc77bd931444b343cd7a991643bb218af3c5a7125dea34f6c9f38d7ed869a5dd48ef956638896687aaf5322c703768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a0dda282d3c5d940e28331b44d33f5f56e5dc5e9877d1432044b343d97a9916341bb4505a78bb281c50663689a67ebeadcbb8bd30efa28640896687b2f5322c683768a0b4f1765038a0cc6d134cfd7d5b97717a61df450c8112cd0f65ea6458d06ed14169e2eca0714198da2699fafab72ee2f4c3be8a1902259a1ecbd4c8b1a069b4db809c3bc39a4ff7dc452a541d690a0845847d15d6054b343d98a991633f5f7c0fae0eda09ec6cb5e0824b0662ccc052e705fa2d500b96687b325322c67d4b0a7808f4169690a631e8fc8c6aed942ce82a08f45c44182cd0f665a6458cf9222748bebe8fafd91929f9f10f3403230612b00ee8ba2c3159a1eccc4c8b19f1444e917d7d1f5fb23253f3e21e6806460c25601dd1745862b343d998991633e214af7ba7d0a1421c316e0fbc332e3486c48d1c38a2ea54c66687b332322c67c3295ef74fa142843862dc1f78665c690d891a387145d4a98ccd0f66646458cf8652bdee9f42850870c5b83ef0ccb8d21b123470e28ba953199a1eccc8c8b19f0c318e35eb5b6c93995836a5d98fcfcc30d0ab3dc217544a34343d999291633e17631c6bd6b6d92732b06d4bb31f9f9861a1567b842ea89468687b332522c67c2e524b305a4414d11d2da0bf5e359d58bdeeef53055d52ccd1d0f6664b458cf85b30a8b9615e8c24f22807a6b46198d9768a210207baa73da4a1eccc978b19f0b5615172c2bd1849e4500f4d68c331b2ed1442040f754e7b4943d9992f1633e16a4eb53e32509316806ce4c2c97cc18dd4d4c6641bea9e9a9387b3325f2c67c2d3297cd5117788afb8a68fad8aefe143a455cf2434d53ed9280f6664bf58cf85a552f9aa22ef115f714d1f5b15dfc28748ab9e4869aa7db2501eccc97eb19f0b4a3205acf2b485419a6704de23b5e3368c037eecd054fd08a13d9992fe633e1693640b59e5690a8334ce09bc476bc66d1806fdd9a0a9fa11427b3325fcc67c2d2654290c77a877892168d9a086cdeb022aba3e0f3e53f5c685f6664bfa8cf85a4b3464719c275194fa9e79690592342c5020be7a79a7ed310ceccc97f619f0b49568c8e3384ea329f53cf2d20b246858a0417cf4f34fda6219d9992fec33e1692a5da41f1d73a8d6a246abcc0e3f2ed93b2f3c45e39fb66834b3325fd967c2d253475a96e7bdb42ffc5a1dc01474bbda710abae7c43f6e746a6664bfb3cf85a4a51ac7867c51cae2b08101a820dfd5dcdcc1b82b857ede8cd5ccc97f689f0b4949358f0cf8a395c56102035041bfabb9b98370570afdbd19ab9992fed13e1692926b1e19f1472b8ac20406a0837f57737306e0ae15fb7a33573325fda27c2d2524624e8c8f64b9983bd4d368fef50d0ee0ba03b828f6f60aaf664bfb45f85a4a4750af71cb9fd5b32f766cf9f5e07845bc2049cc4eededb95fcc97f68cf0b4948d2d713c44160de916b9a01be3b74eb372ecd5f49adbdd16c0992fed1ae16929195ae278882c1bd22d734037c76e9d66e5d9abe935b7ba2d81325fda35c2d2523241d749bd2e9a2712b3469786d398f5c65f9a2e686f75ff0364bfb46c85a4a4630fc0ec273396d0dd335357059d9013876b76b8cddeeda207c97f68da0b4948c51f81d84e672da1ba66a6ae0b3b20270ed6ed719bbddb440f92fed1b41692918a3f03b09cce5b4374cd4d5c1676404e1daddae3377bb6881f25fda3682d2523140a19b9e6731909a16760e024e2dec43607f8226bf76eb43f4bfb46d15a4a4627143373cce6321342cec1c049c5bd886c0ff044d7eedd687e97f68da2b4948c4e2866e799cc6426859d8380938b7b10d81fe089afddbad0fd2fed1b456929189c50cdcf3398c84d0b3b07012716f621b03fc1135fbb75a1fa5fda368ad25231382dadf71407f31cce42d42a46244a6b5b2bc482bc76ece7f5bfb46d16a4a4626f5b5bee280fe6399c85a8548c4894d6b657890578edd9cfeb7f68da2d4948c4de42ca34fcf62ef5f0d816d1108787d5675b5466eedbb543d7fed1b45b929189bb11a6c2a6c2c06e997cf3ca19056dd2c962eb29dab76c2bb0fda368b825231375234d854d8580dd32f9e794320adba592c5d653b56ed85761fb46d1704a4626ea469b0a9b0b01ba65f3cf286415b74b258baca76addb0aec3f68da2e0948c4dd419486de2ec65f783b46478c021ccbe45c39baad2bb630188ed1b45c229189ba73290dbc5d8cbef0768c8f18043997c8b873755a576c60311da368b845231374e6521b78bb197de0ed191e3008732f9170e6eab4aed8c0623b46d1708a4626e9c5655c7c439923ed56fe9edf904c41a28c91fb292db19b04868da2e1248c4dd3738bde83549870062ac9a03e9ffe65c4c3e81c122b6350491d1b45c259189ba6d717bd06a930e00c5593407d3ffccb8987d0382456c6a0923a368b84b231374da6f09f981fc7e84427f2e379ff5f7992ba6496087d8d5b64846d170974626e9b36a264bb0cf5f8b3ccb229737e24d5a51f8d51d0cb1ad10918da2e12f8c4dd365605ef00e75219931630b5667baf8dc9e9dec9616635bc5241b45c260189ba6c94cd038c9c0a5b51a92dcd4c76c4fe137e81b8829c6b92e49368b84c131374d9125b2ca4057adececf27fd186cefdea6a7c796c508d7400936d170983626e9b214b659480af5bd9d9e4ffa30d9dfbd4d4f8f2d8a11ae80126da2e1306c4dd364222dd81ae351a366b96c56e133255d1a49e280d3f35d1a64eb45c260e89ba6c8345bb035c6a346cd72d8adc2664aba3493c501a7e6ba34c9d68b84c1d1374d90617885f65aacb5c6627dbe044bfb56e8d24e290f9d7483d3bd170983b26e9b20b2f10becb5596b8cc4fb7c0897f6add1a49c521f3ae907a77a2e130764dd364165e217d96ab2d71989f6f8112fed5ba34938a43e75d20f4ef45c260ec9ba6c82c485553da2cbd65e90ba52a1df4099c63d356e3cbba438ddf8b84c1da374d90571cbd00612fdd4e89e4107c33de7160c252f023947488bfc0170983b56e9b20ad397a00c25fba9d13c820f867bce2c184a5e04728e9117f802e13076add36415a72f40184bf753a279041f0cf79c583094bc08e51d222ff005c260ed5ba6c82b471fa5bb6554cf706ed4a0996e9e92e0d43c378a0a447a201b84c1dac74d905677007101980fc70c5a75a3b25ca30841533c94d3e4890e80470983b59e9b20acd6c2078dfd85b64431b7a9e438abf302513d4f67991237409e13076b4d364159964534a6c87194b3e03bb647f0bdc8844d3ec48f022488c14c260ed6aa6c82b3154b8ed85e4951933d43cf0f60e173884541aeddd4492bc2a84c1dad64d905661358433b89f8cb51f754009e4128c9903547837b789271c560983b5ad9b20acc16b0867713f196a3eea8013c825193206a8f06f6f124e38ac13076b5b364159826223278f54955735a1c64f8840908c07fe233adb249e1559260ed6b76c82b3035058a7cb7f8d31231052c708777f400aa888d1b3493dceb34c1dad6fd90566052cc3a843d57ce4fded6bb608e55ca80ffd53ff63927d4167983b5ae0b20acc0959875087aaf9c9fbdad76c11cab9501ffaa7fec724fa82cf3076b5c1641598123f20f9bc2c5616af8275001b8bd0c83aa192598b49f6a99f60ed6b83c82b30230a544c252f0eb016d1b0282f0dffb86fef670f1393eef73fc1dad7089056604514a8984a5e1d602da360505e1bff70dfdece1e2727ddee7f83b5ae1120acc08a29513094bc3ac05b46c0a0bc37fee1bfbd9c3c4e4fbbdcff076b5c224159811452a26129787580b68d8141786ffdc37f7b38789c9f77b9fe0ed6b84482b3022831571affc74d8424e7c8aae8d659aef9a2b34d363ef117fd1dad708a0566044f62ae35ff8e9b0849cf9155d1acb35df345669a6c7de22ffa3b5ae1140acc089e516ec4abf398934b6be8d39b4fc4e3e1370f90d5fbc603f576b5c2291598113b2eefe204bd93a94ea497cf2e95e7efbd1a617da8f78dabebed6b84532b3022755ddfc4097b27529d492f9e5d2bcfdf7a34c2fb51ef1b57d7dad708a6566044ea47d1e0bfccb127f25f2564b24dfde6ef15c852a0de3853b0b5ae114dacc089d31bb61a2c6fc4d29c8b10f15c9259f5d8d7d3013ebc724b626b5c229c598113a5376c3458df89a5391621e2b924b3ebb1afa6027d78e496c4d6b84538b302274a6ed868b1bf134a722c43c5724967d7635f4c04faf1c92d89ad708a7166044e9469c32a105489179c254db2dc892dd6c16ada65f2e393ff145ae114e3cc089d275f98accd7f74b1f017618db108b9d57d81f727e2c729a229b5c229c898113a4d4b43b247d54be697fb89435a07d1d2f5b030abc28e54e8546b845392302274992299bd3c80fa4fe7c3d8aeac0601cde60ca3b3821cab74a9d708a7256044e93145337a7901f49fcf87b15d580c039bcc194767043956e953ae114e4ac089d26216794d9eda4bc256dc28e2a80e655f92ded12a0572af76a85c229c968113a4c32cf29b3db49784adb851c5501ccabf25bda2540ae55eed50b845392d0227498659e5367b692f095b70a38aa039957e4b7b44a815cabddaa1708a725a044e930c3fdcc5a3a8c0956eae0d3d3869892491a2cbac28957d5943e114e4b5089d26170bcbe3f427e3ad9528e0a268c970711df1d9b44e2afc5688c229c96b113a4c2d1797c7e84fc75b2a51c144d192e0e23be3b3689c55f8ad11845392d62274985a2f2f8fd09f8eb654a38289a325c1c477c766d138abf15a2308a725ac44e930b45e5f1fa13f1d6ca9470513464b8388ef8ecda27157e2b446114e4b5889d2616848d097ef549d5c0a5ad04e848d6539d9c9dda0dfafc70c8d229c96b213a4c2cf1db3888b7f9d3acc8266c50111289bae3ffd9dbc5f8fbd1b45392d652749859d3b671116ff3a759904cd8a022251375c7ffb3b78bf1f7a368a725aca4e930b3a02e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce60b81eb6b535db7a75984eff0ec025aceb0e34bb9f90261b85392d656749859cc1703d6d6a6bb6f4eb309dfe1d804b59d61c69773f204c370a725acace930b3982e07adad4d76de9d6613bfc3b0096b3ac38d2ee7e40986e14e4b5959d26167305c0f5b5a9aedbd3acc277f876012d675871a5dcfc8130dc29c96b2b3a4c2ce6044310f620c3dfd2d65152706b683d4e5ba77179c9027bf86392d656849859cbf14747770eede7d1296f076056365d1c621308b362051230d725acad1930b397d28e8eee1ddbcfa252de0ec0ac6cba38c4261166c40a2461ae4b595a3261672fa51d1ddc3bb79f44a5bc1d8158d97471884c22cd881448c35c96b2b464c2ce5f42fb614344d566b4c8449d823118cb62bb5c6b5ae028abc6c92d6568d9859cbe75f6c28689aacd6990893b04623196c576b8d6b5c051578d925acad1b30b397ce4aeaa97e0bbc2fe9dded88843c9100a9835d32b50a2c95b34b595a3761672f9b21e7aba8eddae28b88a139006f80294db2fcc167145acf6796b2b46fc2ce5f3543cf5751dbb5c51711427200df00529b65f982ce28b59ecf2d6568df859cbe6a13b107508dce0ce5ef4b0bf9b45ecd3178356199516ce19f5acad1c00b397cd327620ea11b9c19cbde9617f368bd9a62f06ac332a2d9c33eb595a3801672f9a64ec41d4237383397bd2c2fe6d17b34c5e0d5866545b3867d6b2b47002ce5f34c299a933144d2e9e7471e87c5995491866ded68c78b68b0fbd6568e0159cbe6975335266289a5d3ce8e3d0f8b32a9230cdbdad18f16d161f7acad1c02b397cd2e327ca571e9ae2a54e940470e5bb06e1463f7ff1b2da467f0595a3806672f9a5b64f94ae3d35c54a9d2808e1cb760dc28c7effe365b48cfe0b2b4700cce5f34b65604ee747d1b2c0b71c74431651fe04c3c225869b69343c26568e01a9cbe696b381c3595d098daceb054b05ac09de89324870cd06d282b85cad1c036397cd2d570386b2ba131b59d60a960b5813bd126490e19a0da50570b95a3806c72f9a5aa6c832f0418c5edf28e18e962f8d5ca473e5e8f3eb4a252182b4700d9e5f34b536518b6b507ee5e9ce8f7fabde809bc8928ff7a7a69464831568e01b4cbe696a55643c616e63f3ff19eb61d73c671a10cfe4150f1d28e3463ad1c036a97cd2d493899e4daa2e1029b0a3262df83416a14a8c4fde0a51e0cc85a3806d62f9a5a917133c9b545c205361464c5bf0682d4295189fbc14a3c1990b4700dac5f34b5226e79ec1761e68d23f58fb3760363d04d4f56537f9479d72268e01b59be696a43690630db9a2f9cffb7e58ee3fd25c8954aef02fc28f55245d1c036b47cd2d4855e1eba640ac1bcb73c9145bff0a9b925422061f551ec488ca3806d69f9a5a909484fcd74ebe5fc2645e8b377d7b19a4530831fe7a3da351a4700dad4f34b52111cb1f396ae2e7b0458978ee7a5c15c850d489bcc47b60e358e01b5aae696a4213963e72d5c5cf608b12f1dcf4b82b90a1a9137988f6c1c6b1c036b55cd2d484272c7ce5ab8b9ec11625e3b9e9705721435226f311ed838d63806d6ab9a5a908471a1f56247d65ada91829f3524690c2316873a5f3db215ad700dad5834b521076f564371660f386cefcb66623f304040d950d0bb7b65cf5be01b5ab1696a420d6abedf8fa280f391ac5cf4bc74bea87c5ee3fd73f6cd42b8c036b563d2d48419619017cc1b6469db25801170dfdb78f36a0a56e4ed9c2972806d6ac8a5a908314f3288450d2b566e17c64ad9b61519e1805709c6db39f6e600dad5924b5210612a776936f0b92f93fc52bdab62885bbdacf06f8ab67591cd01b5ab2596a420c154eed26de1725f27f8a57b56c510b77b59e0df156ceb239a036b564b2d48418235effd8899474107be111ea5807f96f160041a27d9d7eb3506d6ac975a9083036bdffb11328e820f7c223d4b00ff2de2c008344fb3afd66a0dad592eb521060663d24ecf3b7f86d6c50aa28df85c83c02c52c49c676150d51b5ab25e6a420c0b53b6f64b4d61906556db6d13e7172f7b04e7e535cec445ab36b564bdd4841815338045437125a3827a7d021fc48c86f0b61226689d8a2f576d6ac97ca908302967008a86e24b4704f4fa043f89190de16c244cd13b145eaedad592f9521060525a136dba9af910c1b6ba3077089043bd848af59f762a615eb5ab25f3a420c0a3403934220c54a43b3a3a88e6077eaf75b558473bec5666be6b564be8484181450c84c0f0ef0bcb2e413b39c4055b86e616f2ea74d8ae717dd6ac97d190830289190981e1de17965c827673880ab70dcc2de5d4e9b15ce2fbad592fa321060512321303c3bc2f2cb904ece710156e1b985bcba9d362b9c5f75ab25f46420c0a2464260787785e597209d9ce202adc3730b79753a6c5738beeb564be8c84181448545e67bbc71f359be079c4384c16965c1b71034a8ae8bbde6ac97d1a0830288f34cf282464a0edef8db9b0688e8b54b2e324629215d31bbdd592fa351060511d699e5048c941dbdf1b7360d11d16a965c648c5242ba6377bab25f46a20c0a23a5f4ef93e68e63a7603ace99a308b7ac638d3e645574e12f8564be8d5418144734ab04b29a82ef7a3d41ffb2c57751d871dea2887ae9dc9f1ac97d1ab830288e52172ef0026c071ff75061e50a5486308e816ad0c5d3d37e4592fa358060511c942e5de004d80e3feea0c3ca14a90c611d02d5a18ba7a6fc8b25f46b00c0a239211de14ad71644ab5a0dea13a8b7fb41e4c9d102e74f6839264be8d611814472323bc295ae2c8956b41bd427516ff683c993a205ce9ed0724c97d1ac230288e46477852b5c5912ad6837a84ea2dfed079327440b9d3da0e4992fa358460511c8c1b02fe186184d864d3bb31cc525bc8ed112add70a7b5c09425f46b09c0a239173605fc30c309b0c9a7766398a4b791da2255bae14f6b81284be8d6138144722e6c0bf861861361934eecc731496f23b444ab75c29ed7025097d1ac270288e45c642a496fe28945de6a9fb65a893c6f63359947823dafa8a22fa3584f0511c8b75466eb8c9b750e74a20594ad08d706c11774eb017b60f5455f46b09f0a23916d34e02fc60d4c9fa110d15152080c357cdb2c31fff6c38e8bbe8d613f144722d969c05f8c1a993f4221a2a2a410186af9b65863ffed871d177d1ac27e288e45b25f9317c50b95013c100b6d40168efdee18f323fcdb0fde2ffa3584fd511c8b634b388836ed8c852fecdd0278237c23d6de28a3f6b6216060f46b09fba23916c52283691ab17b8d17a6802ce83d566fa86893a3ea6c4464c2e8d613f844722d894506d23562f71a2f4d0059d07aacdf50d12747d4d888c985d1ac27f088e45b12161ffd179c50b71666c6db98ebb7e69c4e90eba6b113370ca3584fe211c8b6232c3ffa2f38a16e2ccd8db731d76fcd389d21d74d62266e1946b09fc423916c46587ff45e7142dc599b1b6e63aedf9a713a43ae9ac44cdc328d613f884722d88c3d124169b8e83b6b02fd04bf541d5cdd20c9b932889b5c661ac27f118e45b1170636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d0c6db7009065f31ba58062ed3d31c369dbab9cc42270b99a6b09fc483916c45a18db6e0120cbe6374b00c5da7a6386d3b757398844e17334d613f890722d88b431b6dc024197cc6e96018bb4f4c70da76eae731089c2e669ac27f120e45b1168636db804832f98dd2c031769e98e1b4edd5ce6211385ccd3584fe241c8b622d052edc8b5dcc1b47224cc56cbc97a5e9866fc283f270d3da7b09fc484916c459f31edea188fe5eb9c165ed58f8952e52b7a3aac7b4e1c1f50613f890a22d88b3d63dbd4311fcbd7382cbdab1f12a5ca56f47558f69c383ea0c27f121445b1167a53ca010f15fa312826417e361ba9bca8952d0dea3872214284fe24298b622cf333a65acb0256e508194924642db1a14bd69c77d170e5e68609fc485416c459e5674cb59604adca10329248c85b634297ad38efa2e1cbcd0c13f890a82d88b3ca5aabc3d8dfbe16d831eab988ad24ad2a06b43b42c3993e1927f121515b1167934169e05e95deb068309b9b0950a7824eb9aad282873420334fe242a3b622cf250ee6196a021fe3882dfd5e0a97ad2c981f9801020e69e4679fc485486c459e491dcc32d4043fc7105bfabc152f5a59303f3002041cd3c8cf3f890a90d88b3c923b9865a8087f8e20b7f5782a5eb4b2607e60040839a7919e7f121521b1167924034323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e0d0c8ff39d867be4f2c46132cf1e32eea4099035cd431cf7f890a91188b3c91c1a191fe73b0cf7c9e588c2659e3c65dd4813206b9a8639eff12152231167923834323fce7619ef93cb1184cb3c78cbba902640d7350c73dfe242a44622cf247068647f9cec33df279623099678f19775204c81ae6a18e7bfc485488c459e48e05cdb57e6aeca4106f90c3b24e84156e4ecdb5f59d4337380890a91198b3c91bf45c9087a33f704c5bede9e41c6e0d5c485f91ab0a8688b02121522341679237d17a469a13e508c434a83647b841fd383b834915e50d2ba05242a44692cf246f92f48d3427ca118869506c8f7083fa707706922bca1a5740a485488d259e48df25e91a684f942310d2a0d91ee107f4e0ee0d24579434ae81490a911a4b3c91be44935a5b6c8e6e4d220e14bd4175cc4186de6e6ef8697742a2152234a679237c71e7da41a68304c5c0e88bfa02517b02b881029dc0d308c5542a44695cf246f8d3cfb4834d06098b81d117f404a2f6057102053b81a6118aa85488d2b9e48df1a0608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be330c11d22cee4768500dd24cf11579d151990606da6987aaac152234b079237c661823a459dc8ed0a01ba499e22af3a2a3320c0db4d30f55582a446960f246f8cc304748b3b91da140374933c455e7454664181b69a61eaab05488d2c1e48df198608e9167723b42806e926788abce8a8cc83036d34c3d5560a911a583c91be3304d2f7b7bbad907b8a9eaf7094dfb3d143ca2c9a3987c4ec252234b089237c65f26714fa44c149229209c160a9254a2232587ef4430fa4185a4469612246f8cbd4ce29f489829245241382c1524a944464b0fde8861f4830b488d2c2448df197a25d7973e06b4cb5c4f3680223fb0b0874262190dc3eaaa17911a584991be32f34baf2e7c0d6996b89e6d00447f61610e84c4321b87d5542f2234b093237c65e62370b5a4f135b02909a02880f520ea17b5cac0340fac4c5f4469612746f8cbcb46e16b49e26b605213405101ea41d42f6b9580681f5898be88d2c24e8df1979619d52f409b39435bf346c9fbcae1d059836d5ccd3eb2d57e11a5849e1be32f2b33aa5e81367286b7e68d93f795c3a0b306dab99a7d65aafc234b093c37c65e566754bd026ce50d6fcd1b27ef2b8741660db57334facb55f8469612786f8cbcac5abbd2b1b02c9d9766fc77d64d6caac6c7ad4266f5984ff18d2c24f1df1979574189fe1036bbbde69abf17a491377d883b9ce0caeb3243e41a5849e4be32f2ad0f2654cd43d9fe850244574118cd230b237c1d92d6662bc934b093ca7c65e5591e4ca99a87b3fd0a0488ae82319a461646f83b25accc579269612794f8cbcab23c9953350f67fa1409115d0463348c2c8df0764b5998af24d2c24f29f19795640544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac70a89fe2dea64edbfbdd1c401798e80a790469127666604954b093ca9c65e558e1513fc5bd4c9db7f7ba38802f31d014f208d224ecccc092a961279538cbcab1c2a27f8b7a993b6fef7471005e63a029e411a449d999812552c24f2a719795638544ff16f53276dfdee8e200bcc74053c8234893b333024aa5849e54e32f2ac7034b23b8b7cb15eb3a9e2680f8f463273b0ab6e736661ed55b093ca9d65e558df69647716f962bd6753c4d01f1e8c64e76156dce6ccc3daab6127953acbcab1be5edb46dac927fd86744fc8363376f1c96ef015ca99895957c24f2a769795637b49c8e66268b27dc4b565b8645d4c0b8d8a228792331456b0849e54ee2f2ac6f51fa42571a7c77e41379198c0b0f63f15c0876b21662a5162093ca9dd5e558de93f484ae34f8efc826f23318161ec7e2b810ed642cc54a2c4127953babcab1bd20aa2ee7375807bbcab0c8afaba372451ae60088298aae98924f2a776795637a31545dce6eb00f779561915f5746e48a35cc011053155d31249e54eecf2ac6f462a8bb9cdd601eef2ac322beae8dc9146b980220a62aba62493ca9dd9e558de8c5517739bac03dde5586457d5d1b9228d73004414c5574c4927953bb3cab1bd1836413fe42e6a3e827d8ed7a399d06d159242e4268ab03c934f2a776895637a2f6c827fc85cd47d04fb1daf4733a0da2b2485c84d156079269e54eed12ac6f45e6517583d900b7cc1c30186865d9fdc50f54dec972ac2964e3ca9dda3558de8bb56410927f6797c3b52c93504b19de09c96de352b5586d09d7953bb47ab1bd17538946afcc3557b2e725892015999e933d9fec653ab0f453bf2a776905637a2e97128d5f986aaf65ce4b12402b333d267b3fd8ca7561e8a77e54eed20ac6f45d26e64049fe3b86f7196286ffd5cc5ccca143d754bac3eb8f0ca9dda4258de8ba368da61ec9dd3619af91707f2afe9c18ed4bd4694587f15e2953bb485b1bd17455dc71c86120945edbef437dd5631ab1855bce925b0ffcfc62a77690c637a2e8947a091b8fa750e934aae97b2a2c17e2b57bc2e486201438d54eed219c6f45d111b537c1ecb4c9fde6223575d3be124515bbab88dc4042b1ba9dda4348de8ba2136a6f83d96993fbcc446aeba77c248a2b775711b8808563753bb48691bd174426d4df07b2d327f79888d5d74ef8491456eeae2371010ac6ea77690d237a2e88466ae39a330c781aadde0e2e1d5674a858a18206b2022fcde4eed21a56f45d107596ecbf337f1860d8887edbba12cbd05c0729cd340479dbd9dda434bde8ba20d3eeff09346458ed2ddd6036f38b7a2062d2795a38090df7c3bb48698bd17441909f239d362eda05d88722ed667cd6c0706918744012362f977690d327a2e883113e473a6c5db40bb10e45daccf9ad80e0d230e880246c5f2eed21a64f45d106227c8e74d8bb6817621c8bb599f35b01c1a461d10048d8be5dda434c9e8ba20c44f91ce9b176d02ec439176b33e6b6038348c3a20091b17cbbb486993d17441882b35f5e3053c889053e9155e7334e86b155ad03d1237d3987690d328a2e8830f566bebc60a791120a7d22abce669d0d62ab5a07a246fa730ed21a65145d1061e38ea3038eb54a4f91c6a7d71c331c9a701ad9cf148e0f262da434ca38ba20c3b71d46071d6a949f238d4fae38663934e035b39e291c1e4c5b4869947174418766fbb199083b5169c3e701dbf03254e96b2f8cfc223856d8c690d328f2e8830eb6b888bcdddccaff049a66375fca8c5281233fb81470c7f19d21a651f5d1061d56323704891fbe2986012eee3efafb24ad0aa52ff8e1aa234a434ca3fba20c3a95259393dfa5a47e88cec05bfd5bd8c904d9701fc1c36e86a486994807441875130c4cb28cb171288e69e3377a1d9411b47705ff5386f74d590d32901e8830ea161899651962e2511cd3c66ef43b282368ee0bfea70dee9ab21a65203d1061d424f25855002beccdb673ef5d67dc32c67ca03dbd1e1bf7757434ca408a20c3a832a5d634cdbe01c6e9b4413a4f1e480ca404a13a0c38092af869948124418750554bac699b7c038dd36882749e3c90194809427418701255f0d3290248830ea0a3587e5e045e2f47239d6768bbdf02b23ad6aaa800e03eebf1a65204a1061d4136b0fcbc08bc5e8e473aced177be056475ad555001c07dd7e34ca409420c3a8266231f02dedee5480b4200226ee1ed48961ed05fd38115efd699481294187504b50763908b23f2bb935062c45d29bd10d701c67f7702461fbd3290253830ea0952cfecabe3ae0da2a36d280839b95ca158c7b2bebe04a67f8a65204a8061d412959fd957c75c1b4546da50107372b942b18f657d7c094cff14ca409500c3a8252400d83a5c1e5eb60a8102a0664b55050de2f0bac812b43e3994812a1187504a30c2d5ff85a2e59791ce67c04bfc8c89c68a0735602582bc83290254330ea0945185abff0b45cb2f239ccf8097f919138d140e6ac04b0579065204a8661d4128a30b57fe168b965e47399f012ff232271a281cd580960af20ca40950cc3a82514616affc2d172cbc8e733e025fe4644e345039ab012c15e4194812a1987504a284ee8583279481a499b2de843f2eab1c13649915d25846084290254340ea0944f29e30911c8f2b74b0321f87fdc338b7d18d57eb74b0a65095204a8691d41289d53c6122391e56e960643f0ffb86716fa31aafd6e9614ca12a40950d23a82513a339e7cf3fa2d5fe3d94e09f7672c55ef0f9856da2c2b38264812a1a57504a273673cf9e7f45abfc7b29c13eece58abde1f30adb45856704c9025434aea0944e65a8c4c7cbf18024731fe4fd5930f7fb6eaa3b765b0ae849a204a8696d41289cb412af1a65492874630c2c7a31c7d27688189cac8615ead3540950d2ea82513950e683bf97f8791442e4bb73e2f5876cbaf55f18dc2befe6b812a1a5e504a27291cd077f2ff0f22885c976e7c5eb0ed975eabe31b857dfcd7025434bca0944e5239a0efe5fe1e4510b92edcf8bd61db2ebd57c6370afbf9ae04a8697941289ca47341dfcbfc3c8a21725db9f17ac3b65d7aaf8c6e15f7f35c0950d2f28251394872961844cedb96fab1819bdaebe594b5a1a174d92bf18ab912a1a5e604a2728f713e89367419b0ad2fc95fadce295165ef8545af57e4b97325434bcd0944e51d6e8f6b19be95e4122c58e75392b0cac68b4ce75bafcb16e74a86979b1289ca3969312ee0538e4adc2577f69f1bbfbd87c2dc2ab45f97d1cf950d2f37251394715e74b66d7d7f187017b615362ddda30a31fab165bf3147a02a1a5e6f4a2728e148fbc587d160b397fc32526452196e0f1037bec87e6433415434bcdf944e51c11e09e3bc7923e9e7c52accc09a910418ccb1d98dfcca0a83a86979c0289ca3813c13c778f247d3cf8a559981352208319963b31bf994150750d2f380513947020439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030873cf3d75e454adc2e2b5f4c14470bbbe138469e6539c1f434bce0344e51c0610e79e7aebc8a95b85c56be98288e1777c2708d3cca7383e86979c0689ca380c21cf3cf5d79152b70b8ad7d30511c2eef84e11a7994e707d0d2f380d13947018439e79ebaf22a56e1715afa60a2385ddf09c234f329ce0fa1a5e701a2728e030134f4c8434a7cd93faf187440aa533b68d7aa29b653b65f534bce0354e51c05f269e9908694f9b27f5e30e88154a676d1af54536ca76cbea6979c06a9ca380be4d3d3210d29f364febc61d102a94ceda35ea8a6d94ed97d4d2f380d53947017c268cbcce7ba0ef57a45262184b87c5af181770d829dcd3aaa5e701ab728e02f74d19799cf741deaf48a4c430970f8b5e302ee1b053b9a7554bce0356e51c05ee26454be6c4e640165e0fb059247d3eb70ca01f5da774f2ab979c06aeca380bdb4c8a97cd89cc802cbc1f60b248fa7d6e19403ebb4ee9e5572f380d5d947017b625278847e9fb83114504e95c885322d6dec2d9739dd56eaf5e701abc28e02f6b4a4f108fd3f706228a09d2b910a645adbd85b2e73baadd5ebce0357851c05ed620b079cc7e508efce0d9cd6a17aab356274dc1cb77575ebe79c06af1a380bdab4160f398fca11df9c1b39ad42f5566ac4e9b8396eeaebd7cf380d5e347017b560ed43fdecfa4beab502d5da05508f5534979632add5f1efae701abc78e02f6ab1da87fbd9f497d56a05abb40aa11eaa692f2c655babe3df5ce03578f1c05ed563b50ff7b3e92faad40b576815423d54d25e58cab757c7beb9c06af1e380bdaac02b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae0ad15e8d4e21e04938c453ea7a974a53e035d54fabea6f60e03578f5c05ed55c15a2bd1a9c43c0927188a7d4f52e94a7c06baa9f57d4dec1c06af1eb80bdaab82b457a3538878124e3114fa9ea5d294f80d7553eafa9bd8380d5e3d7017b5570568af46a710f0249c6229f53d4ba529f01aeaa7d5f537b0701abc7ae02f6aae039284181b880874b590b669f9fd2cd38af9fb0f7bea89a0f03578f5d05ed55bf7250830371010e96b216cd3f3fa59a715f3f61ef7d51341e06af1eba0bdaab7e70b35eb3b8649fe530f3c27675a95cdd6ac11fdbfaa40c3d0d5e3d7517b556fb6d791614472bc2822eadace4e1b0e1b581c49bb4f549bc7b1abc7aeb2f6aadf5670484d564ba07bc2a2181c1b9bfeb65afcb9366ea951cf73578f5d75ed55be95a1b62579fd6923021092b7b69ddfec60bd982cad52bddef6af1ebafbdaab7d140491d5c160fa7180ed87eeeca1a2586c3f56192aa595fdfd5e3d7607b556fa10ca493650281d0e7ea7725d58a927308342d1f2254b463c0abc7aec1f6aadf41194926ca0503a1cfd4ee4bab1524e610685a3e44a968c781578f5d83ed55be8232924d940a07439fa9dc97562a49cc20d0b47c8952d18f02af1ebb07daab7d0465249b28140e873f53b92eac54939841a168f912a5a31e055e3d760fb556fa08565b8efcfe7f9136743885509f85587def144e224b47e00bbc7aec206aadf40f38c976a6d361a524b53732993568d8f68a6af8419691641878f5d841d55be81d7192ed4da6c34a496a6e65326ad1b1ed14d5f0832d22c830f1ebb083aab7d03a6f38334823e9174aa1a2f25ccc018bd4d5ee3d035a473462e3d76108556fa0736a82bf3d1e34b14d100c0cb18e613fa4581ed603b4900cc6c7aec211aadf40e56117d72712cbe551ecde415b1320a7435c8008046921bd8e8f5d842455be81c94e4206fafbfa4d5ba682aaae1c9f768165426c05d2451f1e1ebb0849ab7d0391289666a2ce571d6f19cb7d542f9d14fd76c73408a48be23d3d76109456fa0721512ccd459cae3ade3396faa85f3a29faed8e68114917c47a7aec2128adf40e422e6bf3380fbef87433f41d48b4d27bf0875f2c1f92312cf5f5d842525be81c835cd7e6701f7df0e867e83a9169a4f7e10ebe583f246259ebebb084a4b7d0390645c2258d155e64889c969d1ac9a817bcc9bf0c7b48c657d8d761094a6fa0720b1796a3c7011f4bc905f3622d89ae57743fc074f3918e53b2aec21295df40e4152f2d478e023e97920be6c45b135caee87f80e9e7231ca7655d84252bbe81c82a5e5a8f1c047d2f2417cd88b626b95dd0ff01d3ce46394ecabb084a577d03905448c776e4df5ce0fffc61396443d0e39caa4603998c744196761094affa0720a71da14676951c44b7c5889ac07dffef3400ce633018ea272dec212960f40e414d3b428ced2a38896f8b113580fbffde68019cc66031d44e5bd84252c1e81c829a029772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a660a5dca1cab4e565b8ba24be7b977932abdefa2f58ea902e2c212961340e414cc14bb9439569cacb7174497cf72ef26557bdf45eb1d5205c584252c2681c8299829772872ad39596e2e892f9ee5de4caaf7be8bd63aa40b8b084a584d0390533052ee50e55a72b2dc5d125f3dcbbc9955ef7d17ac754817161094b09a0720a66031eefa778b47e87086eae6738dd75aa68b3c8b55ea91d22d212961350e414cbf63ddf4ef168fd0e10dd5cce71baeb54d167916abd523a45a4252c26a1c82997e53ce428b03822479e871c1c62dbb9294d9348954aa48ecb584a584d5390532fb33aeddc2dd66cbab9da9ab8451d54d245eab6ea654937d6c094b09ab720a65f5675dbb85bacd97573b535708a3aa9a48bd56dd4ca926fad812961356e414cbea5acdcfb84bfdb166436cd6093db35c8c26f01696524f99b1252c26aec82997d341adf81d6e5de584539fd40a71c4e112fa228929a4a0d7634a584d5e90532fa50f6e48e7b31e4dc07405d00cd9e7ea20a0876e50494352c794b09abe20a65f491edc91cf663c9b80e80ba019b3cfd441410edca09286a58f2961357c414cbe923db9239ecc793701d0174033679fa882821db941250d4b1e52c26af882997d2407849fea6f54f0bb6cf4a85ec59d78ffb07dce7f4a1c3a3da584d5f20532fa470f093fd4dea9e176d9e950bd8b3af1ff60fb9cfe9438747b4b09abe40a65f48e1e127fa9bd53c2edb3d2a17b1675e3fec1f739fd2870e8f6961357c814cbe91c3c24ff537aa785db67a542f62cebc7fd83ee73fa50e1d1ed2c26af902997d238045c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f08b8aea797631cdd38215bc8a06b6feb683e87e3438a8fb6b09abe42a65f48de11715d4f2ec639ba7042b79140d6dfd6d07d0fc687151f6d61357c854cbe91bc22e2ba9e5d8c7374e0856f2281adbfada0fa1f8d0e2a3edac26af90a997d237845c5753cbb18e6e9c10ade45035b7f5b41f43f1a1c547db584d5f21532fa46f0179d43264c94508b4edbe481fd1526b1302ada3138aa9f6c09abe42b65f48ddf2f3a864c9928a1169db7c903fa2a4d626055b46271553ed81357c856cbe91bbe5e750c993251422d3b6f9207f4549ac4c0ab68c4e2aa7db026af90ad97d2377c48fc71df3b05071243a54c07df075d842d992d86c5569f614d5f215c2fa46ef71e0b3c6b4c6c90dc5410c007b46ce3030774b70a8aaee2c39abe42b95f48dded3c1678d698d921b8a821800f68d9c6060ee96e15155dc587357c8572be91bbda043f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3087e94b410298c523a12502d9023680d942a704e557a5e1ed5f215ccfa46ef6610fd2968205318a47424a05b2046d01b2854e09caaf4bc3dabe42b99f48ddecc21fa52d040a63148e84940b6408da03650a9c13955e9787b57c85733e91bbd9843f4a5a0814c6291d092816c811b406ca1538272abd2f0f6af90ae67d2377b3013fba3edd8fb47db6deb2ad0f894a8d3eee960e257a785ee5f215cd0a46ef65f27f747dbb1f68fb6dbd655a1f12951a7ddd2c1c4af4f0bdcbe42b9a148ddecbe4fee8fb763ed1f6db7acab43e252a34fbba583895e9e17b97c85734291bbd97c2bef781b9e3cc1933c1f7e7fbb036e9a238d630fbd3dd373f90ae6862377b2f757def0373c798326783efcff7606dd34471ac61f7a7ba6e7f215cd0c46ef65ee3bd0391b4f558904bd4421f6e26be2633a77e83bf4f8f1d0e42b9a198ddecbdb03b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b5076595c6ea1b29828e9cd7cb766bd982426458e9d3e70f4590ae6868377b2f6a0ecb2b8dd43653051d39af96ecd7b30484c8b1d3a7ce1e8b215cd0d06ef65ed41d96571ba86ca60a3a735f2dd9af6609099163a74f9c3d1642b9a1a0ddecbda83b2cae3750d94c1474e6be5bb35ecc121322c74e9f387a2c85734341bbd97b50026bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e09aed46de0546b82da4e92bd746f007b4a1faa68f9ca61682b9a1a11decbda7c135da8dbc0a8d705b49d257ae8de00f6943f54d1f394c2d057343423bd97b4f826bb51b78151ae0b693a4af5d1bc01ed287ea9a3e72985a0ae6868477b2f69f04d76a36f02a35c16d27495eba37803da50fd5347ce530b415cd0d08ef65ed3e026ff9f8adba93ae571af53cf3d4e2faf4e3d028c9ca7ba83b9a1a11eecbda7bf4dff3f15b75275cae35ea79e7a9c5f5e9c7a0519394f75077343423dd97b4f7e2810d6d845076e4d93837734eb96e6b7e536662f72a08e0fe686847cb2f69efb5021adb08a0edc9b2706ee69d72dcd6fca6ccc5ee5411c1fcd0d08f965ed3df62c55b40dea803bee1ad404cba4b9c2da411bf4baca83dc409a1a11f3cbda7beb58ab681bd50077dc35a80997497385b48237e9759507b881343423e797b4f7d63d6928e48063727038163b2689453363b0b22ee82a111503686847d02f69efab06e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df550dc954ebae52cf3079e53c8a11d11d841b4d739aa8479c0fa1a11f42bda7beaa1b92a9d75ca59e60f3ca791423a23b08369ae735508f381f43423e857b4f7d54372553aeb94b3cc1e794f228474476106d35ce6aa11e703e86847d0af69efaa86e4aa75d72967983cf29e4508e88ec20da6b9cd5423ce07d0d08fa15ed3df55068a7a767bb8f75bf6b19f0991370003c611995a7847b64fb1a11f42cda7bea9f5d61a77c4d816e36a2fa092a1d3e28736e75874c08f86df73423e85ab4f7d53d46d5a7a571655f2512ba3a4c30da78e1892d6a9511f27fef6847d0b669efaa7919bda7f7b92d4101f23a9c90581319bdbe9d312723e6a3dfd08fa16dd3df54f1337b4fef725a8203e4753920b026337b7d3a624e47cd47bfa11f42dba7bea9e266f69fdee4b50407c8ea7241604c66f6fa74c49c8f9a8f7f423e85b74f7d53c459ff986a9fcc8ac75e9b0c7ab6f6f5e8a12be5361f36c2ff847d0b6f9efaa7874011898215fb984689fc40ed644c13cbee9a26693e6f2a0008fa16e03df54f0d0c356bb10259b344e0bea9d2bef64f928976a8cf7cdff80111f42dc17bea9e19186ad76204b36689c17d53a57dec9f2512ed519ef9bff00223e85b82f7d53c3230d5aec40966cd1382faa74afbd93e4a25daa33df37fe00447d0b705efaa786461ab5d8812cd9a2705f54e95f7b27c944bb5467be6ffc0088fa16e0bdf54f0c84f6913bcfbfdb705d8b0c523e5c3212343ace8f4ce0124121f42dc18bea9e18f2ae48026ce5df0c37e27b23fc1e46a41339c2de69c03ec253e85b8327d53c31d55c9004d9cbbe186fc4f647f83c8d48267385bcd3807d84a7d0b7064faa7863a37a459480fda45c5c564f0f6fdefd0ff7ab3139770115495fa16e0caf54f0c736f48b2901fb48b8b8ac9e1edfbdfa1fef566272ee022a92bf42dc195ea9e18e66aa3bdcd15cb99cee259ebd3ee1d6bf8970eaa5ac046f658e85b832cd53c31cb6159d44701f9b6559179ff9fd298ffebda5fb0b2808f90b2d0b7065aaa7863954ec6013ada55ef62efba27379b9027d26101bd620120c566a16e0cb654f0c729299e5b228b0e617dac3a76672d7e779f6e45d6c102432ece42dc196da9e18e51533cb645161cc2fb5874ecce5afcef3edc8bad8204865d9c85b832db53c31ca2328bc537029c08ae7db00194ac5806786559b701090e5f3a0b7065b7a786394365178a6e0538115cfb60032958b00cf0cab36e02121cbe7416e0cb6f4f0c728656416d88e0d2a571c3862e4aa7be41dc41a93801243b20e92dc196df9e18e50b389533be9807cd9b53d2848d45daabb32f94cbff4877e5d35b832dc03c31ca15712a677d300f9b36a7a5091a8bb557665f2997fe90efcba6b7065b807863942a6e6727a73681b9251c103a2d0dc8d6c76a958bfa21e13b4e6e0cb701f0c7285368e0a7fb4365f50204e69c5211efd589816d73f143c41a9ddc196e04e18e50a55dd3a8a35d2e6cbbd693609c1a3dd30daf1d43df8789d93cb832dc0ac31ca14947b9a9f390bf5c2f79ece9302ad9ce160a7ce3bc0f15567a7065b816863942911b85ac93f7e13b16c09ffa584c11c426c13c23751e2c50f5e0cb702e0c728521370b5927efc2762d813ff4b09823884d827846ea3c58a1ebc196e05c18e50a426e16b24fdf84ec5b027fe9613047109b04f08dd478b143d7832dc0b831ca1484683fbd4c956c5b6dd1c5faba56ec4930b62377a5f1642bb0065b8171639429075c91d346013b399370521d6ca436ba5c18894b48e2c9fb610cb702e3c728520d4535ff38d8d8f5dead6a62d13ecb9cb2dd54f28ec5959ac3196e05c88e50a419167e571e88146e75279aed9a73f5616066ec411a8b2cd98732dc0b921ca148312cfcae3d1028dcea4f35db34e7eac2c0cdd882351659b30e65b817243942906259f95c7a2051b9d49e6bb669cfd585819bb1046a2cb3661ccb702e48728520c4400511a11705f661099d94cb960932fde3a464d15968703a96e05c91e50a41870c1c7bef046e6f79e001518f22708df6738b259fb2d284762dc0b924ca14830d1838f7de08dcdef3c002a31e44e11bece7164b3f65a508ec5b8172499429061a3071efbc11b9bde78005463c89c237d9ce2c967ecb4a11d8b702e49328520c3460e3df7823737bcf000a8c7913846fb39c592cfd969423b16e05c92650a418684dda179d1d497a55ccdb40ea1d670761e4f4b5f82d29eb63dc0b924da14830cf27c687e710f57763667ca9cc312c36be762bc7ed5a557ac8b817249c4290619d4f8d0fce21eaeec6ccf9539862586d7cec578fdab4aaf591702e49388520c33a2b2c78491a38604566b8cf28bb0f02f484f17bb269578f23e05c92720a4186735658f0923470c08acd719e51761e05e909e2f764d2af1e47c0b924e414830ce638c439d13f4403cd67a9649ae29a33ccc0084ac6a55fe090817249c9290619cb718873a27e88079acf52c935c53467998010958d4abfc12102e49392520c33966f233ff1d37291ed6b6bba6380c6f72dac6387179581264305c92725a418672b6a58d8907d47a692a39d9cbef7ec165605096a2c2b03f0870b924e4c4830ce5560c409cdd0f1cfdd14016175e63654a6b65530555609850f17249c9990619ca94d9a6c4878462271f4c8eae3c2cad14818ecbca7ac14ae1f2e49393420c339512747313dc6eec79bb657fdbf7bf3ca8ade1bd54c582b003f5c927269418672a14e8e627b8ddd8f376caffb7ef7e79515bc37aa98b056007eb924e4d2830ce542292f1da3f21da126a6261ef5e62d522624b1b12e60ada4fe7249c9a60619ca83525e3b47e43b424d4c4c3debcc5aa44c4963625cc15b49fce493934c0c33950630cecf3c9ed90752655ea3cf8f1370933f0920b682b837fac927269918672a0b619d9e793db20ea4cabd479f1e26e1267e12416d05706ff5924e4d3230ce54164f4d959f51c6a0016240b73632abea47a866ded70ae283ec249c9a65619ca82b2aad83eb79efc2ba914796645bb5fc89fd1019ab15c6abd9493934cbc3395055555b07d6f3df8575228f2cc8b76bf913fa2033562b8d57b2927269978672a0aa36c8685abe218da211e4818965361a22a082c2a9571c536624e4d3300ce541536d90d0b57c431b4423c90312ca6c344541058552ae38a6cc49c9a66019ca82a66733fa17cee8b94014582e1d8b3690852e4d66a25c72f19993934cc13395054b5a7a4cdc7433f537f57684330ccb490508dd2941b8e7873427269983672a0a954106f265beca6d27b7b3305e0ff4ba04bdfcae8071d0b2694e4d3307ce5415290e203d7853f75d073c2c88b416479c04283bb8fde3a308d39c9a66109ca82a511c407af0a7eeba0e785911682c8f3808507771fbc74611a73934cc21395054a23880f5e14fdd741cf0b222d0591e7010a0eee3f78e8c234e7269984272a0a9447101ebc29fbae839e16445a0b23ce02141ddc7ef1d18469ce4d33084e54152886e16303215d8532b8f8eb3395ad7e83d2ffdebdb3a32313ac9a6610aca82a50f683eb9110213290eebe38e6aac0df8750c3e33b374660676934cc21695054a1d5c8fcaceda88d4d5a48d44cd4e7a18e4c4bec363e8cdb0ee2699842e2a0a94394531ee4a8b742c6315e0b192935259c435bfe2c4d19d05dd4d33085d5415287116763541ed4adb7df8878b1d1d02db8317c22186a33bafbb9a6610bba82a50e12cec6a83da95b6fbf10f163a3a05b7062f84430d46775f7734cc21775054a1c259d8d507b52b6df7e21e2c74740b6e0c5f08861a8ceebeee699842eea0a943843fc402bc40b95ea7910280e0de7504136a53683219df21ddd33085de415287070b9a5e2557d54006eecb29b9b348302180e92c6133bfe7bca6610bbd82a50e0d1734bc4aafaa800ddd9653736690604301d258c2677fcf794cc2177b054a1c1a2e6978955f55001bbb2ca6e6cd20c08603a4b184ceff9ef299842ef60a9438345cd2f12abeaa003776594dcd9a41810c074963099dff3de533085dec1528706845b83b0253b68326b978c3932ae12a12bad522103c001fcb6610bbd92a50e0cf1782ceb17dcf89053fb7af1e4c207c2021eca01d7801e397cc2177b354a1c19d2f059d62fb9f120a7f6f5e3c9840f84043d9403af003c72f9842ef66a943833a5e0b3ac5f73e2414fedebc793081f08087b28075e0078e5f3085decd528706744828ce38c4decae1ca83a0ea576208fbbba75ce8c010c0bf610bbd9ba50e0ce71c63f51e6020187b61cd69cca52239f2239115ce8023257fc2177b384a1c19cd38c7ea3cc04030f6c39ad3994a4473e447222b9d00464aff842ef6709438339a718fd479808061ed8735a7329488e7c88e44573a008c95ff085dece1287067346f32019fd7634692db31765d1f6ff78bc8cb0a71011acfff10bbd9c350e0ce676a765bec85290fdd832914b2353e17123dd870df023743ff2177b387a1c19ccd60ff1085e0b4a272d318515c60da561f27f33dbb04702bff42ef6710438339994e1079b897cbc79d72f6cab0b812d438fc28d77308e1fbff85dece218706733128334c1e05fa11f2b2b3bd596683d06ca4940ae311c59c000bbd9c440e0ce6615066983c0bf423e565677ab2cd07a0d9492815c6238b3800177b38881c19ccc22cdf8924ee4aca8297951d5d906d69ad3e928789471814012ef671113833998359bf1249dc9595052f2a3abb20dad35a7d250f128e3028025dece222706733063f907d408f8dacc22b1a9d6e3813ceafa68c7a221c61f405bbd9c445e0ce660b0b33532df57ddc3c22fb62d46685c559f95b504138c58c0c77b3888cc19ccc151666a65beafbb87845f6c5a8cd0b8ab3f2b6a082718b1818ef6711198339982a2ccd4cb7d5f770f08bed8b519a171567e56d4104e3163031dece223306733054599a996fabeee1e117db16a3342e2acfcada8209c62c6063bd9c44660ce660a83f478b8c2e404679fc7c553e5eba7d9a41f760108c5a64c87b3888cd19ccc14f0aa16fc532e30fabc5bed274b3d3232f30311c1e18b66d91f671119b3399829d1542df8a65c61f578b7da4e967a6465e6062383c316cdb23ece223366733053a2a85bf14cb8c3eaf16fb49d2cf4c8cbcc0c4707862d9b647d9c4466cce660a74550b7e2997187d5e2df693a59e9919798188e0f0c5b36c8fb3888cd99ccc14e83629550004937d7428b34f4333905aedaf541dde8b687d20671119b4399829cf6c52aa000926fae851669e866720b5db5ea83bbd16d0fa40ce2233687330539e64b7acace8b078886f936504c49f93b16992d3772da398829c4466d1e660a73b5581b206a7c373c8abecf2017f9d4f5d7f6802eb5b48d5063888cda4ccc14e753715bcba25e96a4924a00bfaf598c6b5ab1261d3b6934e0d71119b4a99829ce96e2b79744bd2d492494017f5eb318d6b5624c3a76d269c1ae2233695330539d268694b956e082bdc5f4657e3ccc142d1588be34bda4edc36c4466d2b660a73a35ce4efd7b272da708b52d7bf8fe0ad9d5d5a2294b49f5c6e888cda57cc14e74545dc385c3b483798e36bd777161f833566f6a12669405cde1119b4b09829ce8917cac9654cf2f1e9939dd6e6229d2e657a2f9e49d2825dbd2233696230539d112f9592ca99e5e3d3273badcc453a5ccaf45f3c93a504bb7a4466d2c460a73a225f2b259533cbc7a64e775b988a74b995e8be79274a0976f488cda588c14e74444a68a3d73dfa120469b4df290b479b267dbf4e4b941491ea119b4b12829ce88720e3a05b5256a6c0a02fe64a0ced5e47a7c0f894282ac7d5233696260539d10d41c740b6a4ad4d81405fcc9419dabc8f4f81f12850558faa466d2c4c0a73a21a0fa0da1a1fbd1dba4d85c1202a13a1194b463e4da0acc3558cda589914e744331f41b4343f7a3b749b0b824054274232968c7c9b415986ab19b4b13229ce88663e8368687ef476e936170480a84e84652d18f93682b30d5633696264539d10cc0919297dd44b708a38f430f946fb30c506744e6a0567bead66d2c4c9a73a2197123252fba896e11471e861f28df6618a0ce89cd40acf7d5acda589934e74432e2464a5f7512dc228e3d0c3e51becc31419d139a8159efab59b4b13269ce8865c48c94beea25b8451c7a187ca37d9862833a273502b3df56b3696264d39d10cb81da4f08a1b198b5b5c09378c6611344b1387429d567d8ed76d2c4c9b73a2196f3b49e114363316b6b8126f18cc226896270e853aacfb1daeda589936e74432de02a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb760a986b550b22c094f3ac18a63a8be49be97d99c967df7d7ad2c4c9bb3a2196ec1530d6aa16458129e758314c7517c937d2fb3392cfbefaf5a589937674432dd82a61ad542c8b0253ceb06298ea2f926fa5f667259f7df5eb4b1326ece8865bb054c35aa8591604a79d60c531d45f24df4becce4b3efbebd696264dd9d10cb76035990dfd888e8c070787b25b9f1c71b9441bf8937df97bae2c4c9bb4a2196ebf6b321bfb111d180e0f0f64b73e38e3728837f126fbf2f75c589937694432dd7e627690a2f89cb2d3eae4f16672cfeedfbcb23e4af7e792b9b1326ed38865bafb50ff79f2c79be85fa2900ac4dbfe05ba25a6d892efd0c9746264dda810cb75f52e114c92659a537711e63d81ae5a336ef7900d22dfa336e9c4c9bb512196ebe95c229924cb34a6ee23cc7b035cb466ddef201a45bf466dd3899376a2432dd7d244578af66ccbd094145f1dfeafc6f5b68a8290887e8e7fa81326ed45865bafa314c16e99affa23dff58463f555ec1367c1477d0dfd1ea351264dda8c0cb75f452982dd335ff447bfeb08c7eaabd826cf828efa1bfa3d46a24c9bb518196ebe8a5305ba66bfe88f7fd6118fd557b04d9f051df437f47a8d4499376a3032dd7d14321dcd7a5633a1b778e947a2a5bec338b67e446ce8f6be8a326ed46165bafa27643b9af4ac67436ef1d28f454b7d86716cfc88d9d1ed7d1464dda8c2cb75f44e54898e962f310995b06b46828d5934dd863b6db0a3dc9e29c9bb518696ebe89b352575d934c495e32d9cb4fd111091b5b8b9375e47bae0549376a30e2dd7d1356a4aebb269892bc65b3969fa2221236b71726ebc8f75c0a926ed461c5bafa26a60a83011a974da448338fbec3aa06ed18f2739761eed25534dda8c39b75f44d34d62b8d0294c3740d3381fd06b9f059dca90cee93ddbeea79bb518746ebe89a526d7ca4d28faf13973366798cd9c33364163f9cf7bb98150376a30e9dd7d13494daf949a51f5e272e66ccf319b38666c82c7f39ef77302a06ed461d3bafa2692277181e17a4e479d999fc65b2ccef4d3b1d2433aeee7a941dda8c3a875f44d234ee303c2f49c8f3b333f8cb6599de9a763a48675ddcf5283bb518750ebe89a4629d86032bf9ba12e33454164a999fb49738b68e8bba0490876a30ea2d7d1348b53b0c0657f37425c668a82c95333f692e716d1d177409210ed461d45afa269163373d977d4d1077099db2d8a9cc615207a6fff9fee82c822da8c3a8c5f44d22b66e7b2efa9a20ee133b65b15398c2a40f4dfff3fdd059045b5187518be89a45659e1be8c29a6a07a3432de2269767c7c96025a7cba0cc48c6a30ea327d1348ab3fd5d5c529afc3ac352be43cc94b20f3d84710f6741b2d19d461d465fa2691550bbe043729c20a10371df07188f469e25cd07de9e837fe34a8c3a8ccf44d22a9177c086e538414206e3be0e311e8d3c4b9a0fbd3d06ffc6951875199e89a45522ef810dca7082840dc77c1c623d1a7897341f7a7a0dff8d2a30ea333d1348aa45df021b94e105081b8ef838c47a34f12e683ef4f41bff1a5461d4667a269154847f29c1f728323bb3ea52f1085a4c620794a3a9b8381874b8c3a8cd044d22a8f1bf790ebbb68ca2e4a10861901a7b43b9ed6d1340704b298187519a189a4551d37ef21d776d1945c94210c32034f68773dada2680e09653030ea33431348aa3a6fde43aeeda328b928421864069ed0ee7b5b44d01c12ca6061d46686269154746bcee00ab1a8d42a1d4a58c0039bc9d7a2f8e59d382738c1c3a8cd0d4d22a8e763b018c239b42b0c075ad977fd95bba9f23427377050158487519a1b9a4551cd53728a3149cad8cfdb7bdae7f1899f4e90aaaa6be0a1cf0a0ea33438348aa39932f76d0f69f8345783bdddc7d9716697cd97b0d4c14542151d4668716915473165eeda1ed3f068af077bbb8fb2e2cd2f9b2f61a9828a842a3a8cd0e2d22a8e6257f00cea7e435415dbbd9f175c23c259e2a11f500516ac557519a1c6a4551cc33bf27281d2e92ae384416626aea5acae71849a9d0a2efcabea33438e48aa398503f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730907ee7b60f869b0fdaa91e88aa75302af1e97226e28bf3ab1a8cd0e3b22a8e6120fdcf6c1f0d361fb5523d1154ea6055e3d2e44dc517e7563519a1c764551cc241fb9ed83e1a6c3f6aa47a22a9d4c0abc7a5c89b8a2fceac6a33438ec8aa398483f73db07c34d87ed548f44553a981578f4b9137145f9d58d466871d9154730900afa0ebc5cfd929275e4b0a26b8e52ec95b482df8bf54f1b8cd0e3b32a8e611f15f41d78b9fb2524ebc96144d71ca5d92b6905bf17ea9e3719a1c766551cc23e2be83af173f64a49d792c289ae394bb256d20b7e2fd53c6e33438eccaa39847c57d075e2e7ec9493af2585135c729764ada416fc5faa78dc66871d99547308f83bb34472a63babdf2b11321eaf4356c4078a89f5bf5695b9cd0e3b33a8e611ef0378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba0de386488b6769d88ba230d55393560aed5dbfa1fabb3dd26871d9a147308f741bc70c9116ced3b1174461aaa726ac15dabb7f43f5767ba4d0e3b3428e611ee8378e19222d9da7622e88c3554e4d582bb576fe87eaecf749a1c766851cc23dd06f1c32445b3b4ec45d1186aa9c9ab0576aedfd0fd5d9ee93438ecd0a39847ba06a4abd358cd9204086e9354d2f9388a9821e561cabb58127871d9a157308f73f60a7d317f014c338da9892925585394db07f0836576ca6500e3b342be611ee7d4d61fedcb68c092981f74d1ca1689a960d406c69aedaf0a11c766858cc23dcf926d65666437a950ad0b4c231392f5d26c6c334d05db7854338ecd0b29847b9f14dacaccc86f52a15a1698462725eba4d8d8669a0bb6f0a8671d9a165308f73e2276bb245e44cd6e30f9930bcdb1b9c95c74f2f3e76dfb90de3b342cb611ee7c34ed7648bc899adc61f326179b637392b8e9e5e7cedbf721bc7668596c23dcf8629c121c46795de440b2aeaeb62cc9a51c97f18f6db8088388ecd0b2e847b9f0b53824388cf2bbc881655d5d6c59934a392fe31edb70110711d9a165d08f73e163316dfbe74b9fbc7f971d3a581909141d23ebfd86e03c4e33b342cbb11ee7c2b662dbf7ce973f78ff2e3a74b03212283a47d7fb0dc0789c67668597623dcf856586dd7a6a94a71d7b28d768dfca06d01f53d5b5eb810b78decd0b2ed47b9f0ab3cee07fa28f7666731e11513ef9f01fe96bd12ba7023131cd9a165db8f73e15505ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a90bdcd14250a29f0c6110a43fab3857efb37902e3c08f9475668597703dcf855217b9a284a1453e18c221487f5670afdf66f205c7811f28eacd0b2ee07b9f0aa42f734509428a7c31844290feace15fbecde40b8f023e51d59a165dc0f73e15485ee68a128514f863088521fd59c2bf7d9bc8171e047ca3ab342cbb81ee7c2a9049df6cd1e08c737dddd06bf2a9e3a6f5e3d28a3908faeb5768597704dcf8551f1fd13250977b69b38866ffdd4a2575e673e7706f11f77aafd0b2ee0ab9f0aa3d3fa264a12ef6d36710cdffba944aebcce7cee0de23eef55fa165dc1573e1547a0b5721ef34502985ee62276d1ef3ff947be01db947df8ec042cbb82be7c2a8f316ae43de68a0530bdcc44eda3de7ff28f7c03b728fbf1d8085977057cf8551e62d5c87bcd140a617b9889db47bcffe51ef8076e51f7e3b010b2ee0af9f0aa3cc5ab90f79a2814c2f73113b68f79ffca3df00edca3efc7602165dc15f3e154798418477a01b651b16b2e89ec9e59e21426a4437917dfa90052cbb82bf7c2a8f2f0f1b47ed0d2cb8e53297658bc19a6a7f80cacb1ffbf6c40b5977057ff8551e5d1e368fda1a5971ca652ecb178334d4ff0195963ff7ed8816b2ee0afff0aa3cba3c6d1fb434b2e394ca5d962f0669a9fe032b2c7fefdb102d65dc15ffe154797404ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e709d9302a7f9093c2c302a8ac0662f7ed653169f9bf6f88b7977058018551e5ce13b26054ff212785860551580cc5efdaca62d3f37edf116f2ee0b0030aa3cb9c2764c0a9fe424f0b0c0aa2b0198bdfb594c5a7e6fdbe22de5dc16006154797384ec98153fc849e16181545603317bf6b298b4fcdfb7c45bcbb82c00c2a8f2e7029a55b54cf6bbee3fcf0b2b85c8da6d0ff58fb98f6fa2f7a77058019551e5cdf534ab6a99ed77dc7f9e16570b91b4da1feb1f731edf45ef4ee0b0032aa3cb9be32a7c60014117e47c088f2d96894c33ea9a64a60dbea61eadc1600665479737b654f8c002822fc8f8111e5b2d129867d534c94c1b7d4c3d5b82c00cca8f2e6f656b170ad26a87bd6cee9f35d98b134f552db85806fab2bac7058019a51e5cdeb39753a0723b37a656a9a0eb327c091e551f966fddf57fb59e0b00335a3cb9bd572ea740e4766f4cad5341d664f8123caa3f2cdfbbeaff6b3c160066b479737aa71e740c965306c4d772e62c495606f8ff427f7f47d61916882c00cd78f2e6f536fe0da3fa0c35b52bb22ed81211f071a94924be5fac4c6d2058019b01e5cdea56bd40d2c17e9395d430c02fa389c362fd566f3c8f58b31a50b0033613cb9bd4963ba73050634f57252de2dec6796945a5710438eeb18074b160066c379737a9153873eb6e2cc6d9c728283d0c58b50af5a62e31ad631b2972c00cd87f2e6f5213320d61a9bfb5df0b1cb2f998174c95961082232ac65092f58019b10e5cdea416641ac3537f6bbe163965f3302e992b2c210446558ca125eb0033621cb9bd4825895b117464ffa7a93f2e65dfc314d603062e4c7b195c8be60066c449737a9033d3dbadb630277acf4abf4b3eec0c2bb0d08258c632d357dc00cd88a2e6f5205068dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea4090d1b9cc738cee4236c3c22bfa7bf5ae18ca54e2b8cb81df90033622ab9bd48121a37398e719dc846d878457f4f7eb5c3194a9c5719703bf20066c455737a9024346e731ce33b908db0f08afe9efd6b86329538ae32e077e400cd88aae6f5204868dce639c677211b61e115fd3dfad70c652a715c65c0efc8019b1155cdea40905dcc25206350c4ee908853f27253d61376973eb5cb838391033622ac9bd4811f47aaa2ed9d040c94edd6cfdcdb05d4219970d9689708ab23066c455a37a9023d1b679e88106a9be1a873c7b1ac69d03ddf240ece2e12fa470cd88ab56f52047936cf3d1020d537c350e78f6358d3a07bbe481d9c5c25f48e19b1156adea408f26d9e7a2041aa6f86a1cf1ec6b1a740f77c903b38b84be91c33622ad5bd4811e4674f4ced59b761c51064658559aca9e9a562d26e7099763966c455ac7a9023c75ab0f28789d14641ed8ef302a9b77bcdf70800d9e1349073cd88ab59f520478d41743dbbea050f3ba7e40dfd49cd1f969a525db0c26ac4e89b1156b4ea408f190efad424aa6ca12f1c8e43f289f86727e0e7175e84d72dd23622ad6ad4811e311df5a84954d9425e391c87e513f0ce4fc1ce2ebd09ae5ba46c455ad5a9023c623beb5092a9b284bc72390fca27e19c9f839c5d7a135cb748d88ab5ab520478c403e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f18707d1f3a4538f186162708f188c42c27366f62de24d762525622ad6af4811e30e0fa3e748a71e30c2c4e11e31188584e6cdec5bc49aec4a4ac455ad5e9023c61c1f47ce914e3c618589c23c62310b09cd9bd8b78935d8949588ab5abd20478c383e8f9d229c78c30b138478c46216139b37b16f126bb1292b1156b57a408f1870093192f20f5408cdf3cf1980ba8a4f311ba53a21d763f65722ad6af5811e30df126325e41ea8119be79e330175149e62374a7443aec7ecae455ad5eb023c61be24c64bc83d502337cf3c6602ea293cc46e94e8875d8fd95c8ab5abd60478c37c498c97907aa0466f9e78cc05d4527988dd29d10ebb1fb2b9156b57ac08f186f81f2b87cdcba30f9709b7c0039f031b0c6695fe1a764109732ad6af5911e30def3e570f9b97461f2e136f80073e063618cd2bfc34ec8212e655ad5eb223c61bde08c077e404eec113f3a52806726a942c469a5466d905c9cdab5abd65478c37bb1180efc809dd8227e74a500ce4d528588d34a8cdb20b939b56b57aca8f186f762301df9013bb044fce94a019c9aa50b11a69519b64172736ad6af5951e30deec4603bf202776089f9d2940339354a16234d2a336c82e4e6d5ad5eb2a3c61bdd81819d6ed254e93f70718a85f1d076abf15e7a26a905e40dbb5abd65578c37baf3033adda4a9d27ee0e3150be3a0ed57e2bcf44d520bc81b76b57acaaf186f75e60675bb4953a4fdc1c62a17c741daafc579e89aa4179036ed6af5955e30deebc4ce1101600d72270058b6af0de997df35b7f6f5182f3aadead5eb2acc61bdd7725d478d8d810c797d7dcfdd9b39123e163413aa005e8f9be5abd655a8c37baed4ba8f1b1b0218f2fafb9fbb3672247c2c68275400bd1f37cb57acab5186f75da23643c1036a5a1172c3a1f5ec4a2b7803947467d17a58afa6af5956b30deebb346c878206d4b422e58743ebd89456f00728e8cfa2f4b15f4d5eb2ad661bdd76619a348edb0f907147daea57308e905fb915f75f15e97cfeaabd655adc37baecb334691db61f20e28fb5d4ae611d20bf722beebe2bd2f9fd557acab5b86f75d96668d23b6c3e41c51f6ba95cc23a417ee457dd7c57a5f3faaaf5956b70deebb2c592ca01a5e2abb5bba3b53903da657d7373e0b87f4c023565eb2ad6f1bdd76573e6b98e192b7f96f413ccf1871aad7a91abe730ce981eaadbd655adf37baecad08e98a6ffbd275964f3fc628d9b3d74ce1bf4216d305795c7acab5bf6f75d95911d314dff7a4eb2c9e7f8c51b367ae99c37e842da60af2b8f5956b7edeebb2b223a629bfef49d6593cff18a366cf5d3386fd085b4c15e571eb2ad6fdbdd76564474c537fde93acb279fe3146cd9eba670dfa10b6982bcae3d655adfb7baecac81aaaffac9389dc1cc0c28a85919b9cc8c8367d6a305939c8acab5bf7f75d958f3555ff592713b8398185150b23373991906cfad460b273915956b7efeebb2b1e6aabfeb24e277073030a2a16466e732320d9f5a8c164e722b2ad6fdfdd76563c616a561172b1639dd2da7c24833b0e40edf6474e82cb7246655adfc0baecac774ee704cfbbc549f3727b2040fcd4447c882eea9a0598888dcab5bf8275d958ed29e0624c4ded169eb1bc6879f006b0f3bca031310b32b51c956b7f05ebb2b1d953c0c4989bda2d3d6378d0f3e00d61e77940626216656a392ad6fe0bd76563b23393e1de0e16dd3293b7c9dfb678ebc99ec320c12ccc787355adfc18aecac7636727c3bc1c2dba65276f93bf6cf1d7933d8641825998f0e6ab5bf8315d958ec65a61e0250ebdf7821ba54f76d041d721274edf01b33385ce56b7f063bb2b1d8b40d618f6f3de71bc0410c6e596e1d63cfae01a006668af9dad6fe0c876563b150dbe8a9abe1f662fd4e7b5c32421d474a2028ffdccd3033c5adfc191ecac76291b7d15357c3ecc5fa9cf6b864843a8e944051ffb99a60678b5bf8323d958ec5236fa2a6af87d98bf539ed70c908751d2880a3ff7334c0cf16b7f0647b2b1d8a46df454d5f0fb317ea73dae19210ea3a510147fee669819e2d6fe0c8f6563b14867fb0258b858e5b51b41842a387b6f44cc6b5bd9cd31d7c6adfc191fcac7628f5c085d5e47144e220349304c67550684451913b09a65538e5bf83240958ec51d44231369648b1efbd3588890c50835033674835e34cc4b1db7f064822b1d8a3914587f7f9f78c0af73773919806e9201192b62b9699a3a3c6fe0c905563b147128b0feff3ef1815ee6ee723300dd24023256c572d3347478dfc1920aac7628e25161fdfe7de302bdcddce46601ba480464ad8ae5a668e8f1bf83241558ec51c42ed654a9d2288833687ff0c3f9d2b803759d71c84cd375e47f06482bb1d8a3875daca953a4511066d0ffe187f3a57006eb3ae39099a6ebc8fe0c905763b1470e476bab541f04a3856ec5eb07dda9080882b8231e334f7b92fc1920afc7628e1b1ae9af55146bc9c2aa51fe07b1b0380bb1b2a23966a09b26f83241608ec51c3535d35eaa28d7938554a3fc0f6360701763654472cd41364df06482c11d8a386a6ba6bd5451af270aa947f81ec6c0e02ec6ca88e59a826c9be0c905823b1470d4635fd35579c0d0cd1f56183583dfe85839d76dc835067d38c1920b057628e1a752d1ff57c9e424520b725862fe1df8ab1ff1378d6a0e9e728324160bec51c34d31b6575c6a2acb5be3aad8bdf29a1950ec24cb17d41ee0e606482c18d8a38699636caeb8d45596b7c755b17be53432a1d849962fa83dc1cc0c905831b1470d3252ebb61e7f0db0275b718aefc0c68d3e5cd5885c507d27991920b064628e1a6331e9c4e9d47de30683a93dd777eb427765ed6cb5a0fbf333324160c9c51c34c563d389d3a8fbc60d07527baeefd684eecbdad96b41f7e6666482c1938a38698a53b96c54285a0ed1db6b1f55d60b31d843f80ed383f170cdc90583281470d313338531552716a05b839c66a3a2748bab343279a407e4859c920b065128e1a625670a62aa4e2d40b70738cd4744e917566864f3480fc90b3924160ca251c34c4a5a271e0172bd0425db37c286803056a77d0c428d1f93ba73482c1945a3869893406094afbbdc8b038335ad04f6bed549a65ae1173f2918e79058328c470d31250cd3820c4e1b98bed3318201e3dbd28df8f81e2b7e53d5d020b065198e1a624919a704189c37317da6630403c7b7a51bf1f03c56fca7aba04160ca331c34c492334e0831386e62fb4cc608078f6f4a37e3e078adf94f574082c1946638698924669c106270dcc5f6998c100f1ede946fc7c0f15bf29eae81058328cc70d31248594a7971b81c0ea4ffde4816341b50da3bc43eb4e53f01030b065199e1a6248f3ea74b90469aa001cc82b8245e94c9af23cad966ca7fa607160ca334c34c491d0960efcd6397c2bb65cb9840b387bb58f3d80eca9500f00f2c19466a8698923912c1df9ac72f8576cb973081670f76b1e7b01d952a01e01e58328cd50d3124722583bf358e5f0aed972e6102ce1eed63cf603b2a5403c03cb06519aa1a6248e44b077e6b1cbe15db2e5cc2059c3ddac79ec07654a807807960ca335434c491c8222155830fdeae6e297fac032ed9dd89e9c348a65010a4f3c19466a96989238f4442ab061fbd5cdc52ff58065db3bb13d386914ca02149e78328cd52d312471e1497aeb915dd3c7072c4d804b1c59e22534f7e96404437d006519aa6a6248e3b292f5d722bba78e0e589b009638b3c44a69efd2c80886fa00ca3354d4c491c76525ebae45774f1c1cb136012c71678894d3dfa590110df4019466a9a989238ec30cfce75854c663b62ece81d848b190d46be50af02236281328cd536312471d7619f9ceb0a98cc76c5d9d03b0916321a8d7ca15e0446c5026519aa6c6248e3ae4f519282eb941ba55879c86e088a8c2fc73b9eb9088f2e05ca3354d9c491c75b2ab57db2ad8aba027db9b8d40773405a3ab9996f1120000c9466a9b489238eb5556afb655b157404fb7371a80ee680b4757332de2240001928cd536912471d6a36e84f778c8d6ac1c3ad0b48142b29639728c1b94481a433519aa6d3248e3ad36dd09eef191ad583875a1690285652c72e51837289034866a3354da6491c75a667b3968b08982dbedb7a5518470acd8908e562e2120834ce466a9b4d9238eb4b5b7985c2e792de3583bad2288473c30cbe0d21c124120d9d8cd5369c2471d69543056432a5883f22d43bcc48ff45ae14285c9f7f4825bf3c19aa6d3948e3ad29121d2112217300fd753dc089f4e98422fcfb9afb904d22793354da7391c75a51243a422442e601faea7b8113e9d30845f9f735f7209a44f266a9b4e7238eb4a24874844885cc03f5d4f70227d3a6108bf3ee6bee413489e4cd5369ce471d69441cfb613de1fa8aa376b42c479daa4912941f33d9826ab7ca9aa6d39d8e3ad28739f6c27bc3f51546ed68588f3b549225283e67b304d56f95354da73b1c75a50e73ed84f787ea2a8ddad0b11e76a9244a507ccf6609aadf2a6a9b4e7638eb4a1c73ed629be636d7d382678a34e3b0708f4d3bfac913576255d5369ced71d6943773ed1de4a2d0325ed1953c61bdbf091946ba518f26b068acaa6d39dbe3ad286d73ec94761c02e7756ff0a0bb71dc3a2d39b6ff1b4d62755a54da73b8c75a50d973eb81990e6851a2aca7696eda169c551fb05a339ac68eb5a9b4e7728eb4a1b173e95bdef33325fd2614fad5aa8b60a4eba31064358ec16c5369cee61d69436173e5106abcc8ceb218f01da34b74e94483887cc56b1f26d9a6d39dcd3ad286c173dc79824ff4201bfea6633e8d47fa83b3535587d63ff1b44da73b9b75a50d8173cb4bb1764ac2efca12ee7510ee1d0212e9070cac8187699b4e7737eb4a1b0173a8f00fc2f8089760ec04e2183a61fed2146a165904b2d4369cee70d6943601736438cc5c5293e68e9e31bc26d2ebf8506b3029b20b09a96d39dce2ad286c0172daca458f07aa84ea028b704403ffeb4d18bc506417b753da73b9c65a50d80171c7ed37f471d7c1a0cb3ed87e6627d14673d49dc83112a8b4e7738db4a1b0016fa2331cbf46323b0e5ca5a8f32a779d392a05389063c95269cee71c694360016b56bee654eee72de97f7349dcb317351e96666e20c936a5d39dce39d286c00162bfd679804051139fc50e8bafc45664e96f28d94194114ca73b9c74a50d80015192059fd6e324df0c50450f55e6d4c47f20adaf8329c69a4e7738ea4a1b00012f3663ec8428cc75e566b216a22bd183aa83b75c065531359cee71d5943600015e6cc7d9085198ebcacd642d4457a30755076eb80caa626b39dce3ab286c000248ebe85ee705b48f6260f0527f0d6e095651396d195668d773b9c75750d800031dea296aa46debd69188089cf479040d58e4ced732ae75afe7738eafa1b000053bd452d548dbd7ad23101139e8f2081ab1c99dae655ceb5fcee71d5f4360000a03bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c000130775fcaed034642425cc94d7908470601fab2eb39576f5813b9c757f0d8000260eebf95da068c8484b9929af2108e0c03f565d672aedeb027738eafe1b00004c1dd7f2bb40d190909732535e4211c1807eacbace55dbd604ee71d5fc360000983bafe57681a321212e64a6bc84238300fd59759cabb7ac09dce3abf86c00013003722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0dc88e6766a313e8a63dd5c3fa94b7f29bd51cd95dc3f052e71d5fc76000097c1b911ccecd4627d14c7bab87f5296fe537aa39b2bb87e0a5ce3abf8ec00012f83722399d9a8c4fa298f7570fea52dfca6f547365770fc14b9c757f1d800025f06e44733b35189f4531eeae1fd4a5bf94dea8e6caee1f829738eafe3b00004be0689b3f234093c14230a384379fa9a72469942992dc40a92f71d5fc77000097bf5d48d6f3578a053c2e0d306735b176437f6aaf22b882f65fe3abf8ef00012f7d46a4069385768d3028e088c661c11481ab17ba42710790c0c757f1df00025ef9195a65d3e14f9d181e873984b9e050fe0271d081e210c5828eafe3bf0004bdf132b4cba7c29f3a303d0e730973c0a1fc04e3a103c4218b051d5fc77e00097be26569974f853e74607a1ce612e78143f809c742078843160a3abf8efc0012f7c456e5874be0df6b78c0fff41dc560afeabfd0e00c1087d015757f1df90025ef8739dd6744982159a94ec61033811f87d02be41c152111442beafe3bf3004bdf0d73bace893042b3529d8c2067023f0fa057c8382a42228857d5fc77e60097be1a7387f5bf36e7e95d07de68c5fadc473b5bd2cc518446b4b0abf8efcd012f7c337322442b44325571dc82f983ec16b67163e7f4a0088f0d6257f1df9b025ef8657256e1035ec72d9b85cc1affce8b94dd7412453d111fbec5afe3bf3704bdf0c970c01ab393f0ddeed85e5df7937551b59466e6772241218c5fc77e6f097be1916d928e13fe443e957d82e3e71d48cb65d51028eb4483e719bf8efcdf12f7c321673774d4d2eaffe2c7cbefc630efbec65662add3890972347f1df9bf25ef86415a8142567c38827d5c5e0784583da5875907b7a412148869fe3bf37f4bdf0c814114dd59ced387b285823700a6d973095e51cb45242ab4d4fc77e6ff97be19010e3c13607409921cd7ca95f944110e0d68e5f28748570daaf8efce002f7c32011c7826c0e8132439af952bf288221c1ad1cbe50e90ae1b55f1df9c005ef8640238f04d81d02648735f2a57e510443835a397ca1d215c36abe3bf3800bdf0c80471e09b03a04c90e6be54afca2088706b472f943a42b86d57c77e70017be190086fd38eb416fba485496f878c376f08d13aa1847185727eb08efce003f7c3200f6bb976150459cbc25fa53710653c399d218564e00ae6a1621df9c008ef86401d638544d6df161a3c8c109618c0d69b34ef4d25bd15cee6c53bf38012df0c8039531ce25a948eb730e4e75429780b5e648adca7772b9f718b77e70026be190071324c1d61ff7ff1199694d04ae674e4c3c1fbaaeb57408717efce004e7c3200e164983ac3feffe2332d29a095cce9c98783f755d6ae810e2fdf9c009cf86401c25542ce34d462471e271969239031bb09b43107aa5d03c060bf38013af0c803833697f5167f2710f41af8fa3f16c19e0e14a46b51ba0924c27e700276e19007056d2fea2cfe4e21e835f1f47e2d833c1c2948d6a374124984fce004edc3200e0a66722d06d2fec68838aa10f45164a032fed40943e826370af9c009dc86401c1358f6b2ba7c600fc83e1a49e099276860a9ea6e84d04e1216f38013ba0c8038253dffbe21cf22a24848fabbb928acf8bc00173906a09dc82ee7002775190070490811d4f074a7c7485ebb9f6a47b81972ac70ce0a413d345ece004eeb3200e0911023a9e0e94f8e90bd773ed48f7032e558e19c14827a68bd9c009dd66401c122204753c1d29f1d217aee7da91ee065cab1c3382904f4d17b38013bacc8038244408ea783a53e3a42f5dcfb523dc0cb956386705209e9a2f670027759900704880d2fa7b420def73db8801e9c71dfbf25734f3ca113d4e9ede004eeb4200e090f1a5f4f6841bdee7b71003d38e3bf7e4ae69e794227a9d3dbc009dd68401c121e34be9ed0837bdcf6e2007a71c77efc95cd3cf2844f53a7b78013bad08038243c697d3da106f7b9edc400f4e38efdf92b9a79e5089ea74f6f002775a1007048785f0cd3eee451f69354c811bf145a1a51e136260e3d5042df004eeb4300e090ef4a2c008a9f066fde76564b761f125c9e6eaea8197aa229bf009dd68701c121dd206a59c2146f6274b972bee43482e137899fac2ff545f77f013bad0f038243b940d4b38428dec4e972e57dc86905c26f133f585fea8beefe02775a1e070487720dbbbfb528200c8ab2912388c869acd8d2c10cbcd51981fd04eeb43d0e090ee31b777f6a504019156522471190d359b1a5821979aa3303fa09dd687a1c121dc636eefed4a080322aca448e2321a6b3634b0432f3546607f413bad0f438243b8c6dddfda94100645594891c46434d66c6960865e6a8cc0fe82775a1e87048771867ce53ff58634b62f5d860847cf8f587d85327ca5199c3d14eeb43d1e090ee2f5baf00ab8729197db876e900f050130a5ce8ab91a3352ba39dd687a4c121dc5d43705a03e4b4b5b33db3f9f9d6fe4e0f6613b320466bfb483bad0f4a8243b8b912f30cb49fcbee1e482e1beba45ac4197869c23d8cd99a91775a1e960487717125e619693f97dc3c905c37d748b58832f0d3847b19b33522eeb43d2c090ee2e24bcc32d27f2fb87920b86fae916b1065e1a708f633666a45dd687a58121dc5c423aabe51d4c1f3aa0e370755193448c66f906de966ce788cbad0f4b1243b8b8747557ca3a983e7541c6e0eaa3268918cdf20dbd2cd9cf11975a1e9624877170e1abd51f4296a516005a2454c5b2f4b146a8413a29b3b8633eb43d2c590ee2e1b357aa3e852d4a2c00b448a98b65e9628d508274536770c67d687a58b21dc5c366af547d0a5a94580168915316cbd2c51aa104e8a6cee18cfad0f4b1643b8b86c61fce84e21b50db7f9d8525acfd8809e0062f911d9ddd5a05a1e962d877170d7500c294919cc9e27c076ccad960f2936ad084e20b3bd4f41b43d2c5c0ee2e1ad2c2aab3f09fbbf074db3c153227c7a680652f83e677c4284687a58b91dc5c3595855567e13f77e0e9b6782a644f8f4d00ca5f07ccef88508d0f4b1723b8b86b23cbd05a8fe517ed503952d448050119ac58e3cf69df2ae12a1e962e577170d63058c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac50b18c7fda60b00c3a7e10501edfc96606ebdabd477ce004c87a58b97dc5c358a16318ffb4c1601874fc20a03dbf92cc0dd7b57a8ef9c00990f4b172fb8b86b142c631ff6982c030e9f841407b7f25981baf6af51df3801321e962e5f7170d62858c63fed3058061d3f08280f6fe4b30375ed5ea3be7002643d2c5cbee2e1ac503d9ed88737128ef24ad67816d6278e01981d19447ce1a8c97a58b97ec5c3589f075009bb4487a09c62731825a2ad43fddc7c8e85f9c4f593f4b172fe8b86b13d0ea01376890f4138c4e6304b455a87fbb8f91d0bf389eb27e962e5fd170d627a1d4026ed121e827189cc60968ab50ff771f23a17e713d64fd2c5cbfa2e1ac4f43a804dda243d04e31398c12d156a1feee3e4742fce27ac9fa58b97f45c3589e80112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0897a308f6e463ef9fbd529109933ec3a05a22e4e287ea0258b97f4dc3589e78112f4611edc8c7df3f7aa52213267d8740b445c9c50fd404b172fe9b86b13cf0225e8c23db918fbe7ef54a44264cfb0e81688b938a1fa80962e5fd370d6279e044bd1847b7231f7cfdea94884c99f61d02d11727143f5012c5cbfa6e1ac4f3c0158c893c44a8c1b1c89b51088f921434b1e48a4b288044268b97f4dd3589e77f2b191278895183639136a2111f24286963c914965100884d172fe9ba6b13cefe563224f112a306c7226d44223e4850d2c792292ca201109a2e5fd374d6279dfc3876a28efba8904611a0b03c72eec9a03b66ae564403c5355cbfa6eaac4f3bf770ed451df751208c23416078e5dd934076cd5cac88078a6ab97f4dd5589e77ee6dece2e8c504c3d01348e8e9c2194e7b99dd15561010b8d672fe9babb13cefdb67ec1e7e606c0a57f357f9cb7a90c4f1dffc86a9202315ade5fd37586279dfb55bea95a9973a9767b3761b8eeb7fb1de6c3b694f4047cf5ccbfa6eb1c4f3bf6943e7840004d7b18733b25f15cd5d8bb784b92e9b809142ba97f4dd6489e77ed113e160ace011e5c6342ae62391193f69b5b4b934012429762fe9baca13cefda127c2c159c023cb8c6855cc4722327ed36b697268024852ec5fd37594279dfb424f8582b380479718d0ab988e4464fda6d6d2e4d00490a5d8bfa6eb284f3bf6842b1d5e13d6f1b0e96e1d59147f28234859e8259d0922efb27f4dd6519e77ed07563abc27ade361d2dc3ab228fe504690b3d04b3a1245df64fe9baca33cefda0e3887d0fc3229465d853b8c49f2feb51c13e2f271248d62cafd37594779dfb41b710fa1f864528cbb0a771893e5fd6a3827c5e4e2491ac595fa6eb28ef3bf68366e319c9d9f079c2de1b4591fc258fc6afbce25c192372f2cf4dd651ee77ed06b687591e81471bb13902eda377b1020d0a3dea7802470025ae9baca3ecefda0d55cfd7c7cff45f8deed23dc66ec7e699bf3ffaafd48e1a8b6d375947e9dfb41a9460d51a6d4ee7475a70de0c5cf5afb329441b1f791c4f56ea6eb28fe3bf68351182cfbfa803f6ba31ae1e98395141e5fd4c5bfec238b8ede4dd651fd77ed06a13059f7f5007ed74635c3d3072a283cbfa98b7fd847171dbc9baca3faefda0d4260b3efea00fdae8c6b87a60e5450797f5316ffb08e2e3b79375947f5dfb41a844d7a3880d85ddfd0a3d574149eff1af952705b5e1c5e1af36eb28fecbf6835072706c9ae871e425914711021345c5ded512312b938bdd9e7dd651fda7ed06a0d4e0d935d0e3c84b228e2204268b8bbdaa2462572717bb3cfbaca3fb4fda0d41a282d7f66f2db8c1c1e8a687cc7cf9faff0cea6e1e2f90ba075947f6afb41a833505afecde5b718383d14d0f98f9f3f5fe19d4dc3c5f21740eb28fed5f68350662cc85648a1d0b32846efc9eb159ca6ba6f7cf7848be5d282d651fdaced06a0cb5990ac9143a166508ddf93d62b394d74def9ef0917cba505aca3fb59da0d41963f33b1cf5da54f58e8854fa44cd0c2e46a363a0f2f98ee0c5947f6b4b41a832b0a79bc4b91ad21699dd0c7408fffadc380aed01b5f338019b28fed6a6835065514f37897235a42d33ba18e811fff5b87015da036be670033651fdad4d06a0caa29e6f12e46b485a677431d023ffeb70e02bb406d7cce0066ca3fb5a9a0d4195453cde25c8d690b4cee863a047ffd6e1c057680daf99c00cd947f6b5341a832a833ae1d65f1349951a9d29c00f6590432b72f5db2f339a59c28fed6a78350654f675c3acbe26932a353a53801ecb208656e5ebb65e6734b3851fdad4f06a0ca9e5acace449b34e7fe741097fbcfc238c588ffd2c8cce83a71a3fb5a9f0d41953b41a7f5360ccc52b4b4e757ef95e29985be42018e99d218e447f6b53f1a832a750f624318effb28213694d7d722235b0628c65f1a33a5d5c98fed6a7f350654e91ec48631dff650426d29afae4446b60c518cbe34674bab931fdad4fe6a0ca9d23d890c63bfeca084da535f5c888d6c18a3197c68ce9757263fb5a9fcd41953a407247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a7470e48e2e8ac77878302d9cd620ef20057e4eaa99d3a60a49afed6a7f550654e8e1c91c5d158ef0f0605b39ac41de400afc9d5533a74c14935fdad4feaa0ca9d1c39238ba2b1de1e0c0b6735883bc8015f93aaa674e982926bfb5a9fd541953a387247174563bc3c1816ce6b10779002bf27554ce9d30524d7f6b53faa832a747070a087379ddafae7fa62fe18e57e2d78faecf5d0a60bedb0ed6a7f560654e8df6d53671c12187887c18c2429c15a82eca21c479e4c197f62dad4fead0ca9d1bd66b926e4fa9373c74fde704b79132dd3f07aeb399834a2c6b5a9fd5b1953a3795984a676cb896a466c83088ee88483a28d383270306ae98e6b53fab732a746f13f1ba59a6d755744a5cc3915c7672f3fc6b2c0dd60d7771dd6a7f56f654e8de10a49a3e1b14d3141185e9a23852c867a39a7ddb7c1b0923cad4feadfca9d1bc1149347c3629a628230bd34470a590cf4734fbb6f836124795a9fd5bf953a378229268f86c534c504617a688e14b219e8e69f76df06c248f2b53fab7f2a746f04524d1f0d8a698a08c2f4d11c296433d1cd3eedbe0d8491e56a7f56fe54e8de0830ac96c7eb3596c952afca3049268f9e46c037791b0ac7cbd4feadfda9d1bc0f61592d8fd66b2d92a55f9460924d1f3c8d806ef236158f97a9fd5bfb53a3781e4ec4b3cc8338dddd178550b91af86673c74339e16c2cc33053fab7f7a746f03b299bc045dcd43e71fbd0c96a2c4ef4e23ac8cfbfd85b2a61a7f56ff04e8de0755337808bb9a87ce3f7a192d4589de9c475919f7fb0b654c34feadfe09d1bc0ea328159c449b37c7fbc094da0a799fb8397659afc616e4d879fd5bfc23a3781d36502b3889366f8ff78129b414f33f7072ecb35f8c2dc9b0f3fab7f84746f03a65617bfbdfd3074b6bceb5e7a94c6160909d8c7ee85bada1f7f56ff09e8de074b3841d828d0c36c25469ce4ed1fea540cbff3ebda0b77583ffeadfe14d1bc0e957083b051a186d84a8d39c9da3fd4a8197fe7d7b416eeb07ffd5bfc29a3781d2a6d19b9501970334ce739bbac7607782dac120b652ddf0500fab7f85446f03a536645cb4d0942e9519b399f50e26d1856046672c75bbfae02f56ff0a98de074a5589def46e8e8555b03396699bb3858a6b50f418bb7810006eadfe1541bc0e9493d4e373aa8332d6dd338f52b6cced9481660df146f03a40ed5bfc2a93781d29106aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a5210d5d8e444d91bb26e670249d9ff7b515b208344bbc11d83d56ff0aa6de074a421abb1c889b23764dcce0493b3fef6a2b641068977823b07aadfe154dbc0e9484357639113646ec9b99c092767fded456c820d12ef04760f55bfc2a9b781d29086aec72226c8dd937338124ecffbda8ad9041a25de08ec1eab7f85536f03a521061eb3cf1af7e352633c871d1f5d97955ccc5a0b8c11f27d66ff0aa6ee074a41f4fe8d290355eed0434570b9be2111aa645cd9d6e823ff3addfe154dec0e9483d2be3fdcd41205cc035743f2fba805d4737dd96da04818b5cbfc2a9be81d2907957c7fb9a8240b9806ae87e5f7500ba8e6fbb2db4090316b97f85537d03a520f23ba24fe1dae3f5b8a29724b6e05f9d178bb8b7651207d173ff0aa6fb074a41e30356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a0d5be1c230a9b8a447d1c596dc7588a70ecf2b1c90451ba3f85537dc3a520f141ab7c384615371488fa38b2db8eb114e1d9e5639208a3747f0aa6fb874a41e28356f8708c2a6e2911f47165b71d6229c3b3cac7241146e8fe154df70e9483c506adf0e11854dc5223e8e2cb6e3ac4538767958e48228dd1fc2a9bee1d29078a061d074cfe0fe0cfc49e28165bdb6b26b99350dc604535e4085537dc4a520f13f4fb3424c985e9cb0608b2ac371cb8cd1deac778908a860820aa6fb8a4a41e27d2b78dd46071fbc188ddc7d7ed9f5419e699b4b0f11526505154df7159483c4f956f1ba8c0e3f78311bb8fafdb3ea833cd336961e22a4ca0a2a9bee2b290789f239f5cdc4f2e1731a04381df35e332e7452af8839454b38155537dc57520f13e373eb9b89e5c2e63408703be6bc665ce8a55f10728a96702aaa6fb8aea41e27c673e98fc0a1e84f1fdda69fc56f2ae1cbf7007ce2152e845654df715e483c4f8b73e5782e1a3320f788136782d4b3eb929a4355c12a5eacada9bee2bd90789f1573dd49090ac8c4a6dcecf6fd9fc5ff1fe0c9077f54befd5c537dc57c20f13e2973cceabeebf40c0586a015f335ea263a6dd46afba97f9eb9a6fb8af941e27c5173ac2e2aae4a9ac2da0653de6232746f87eb31f45300e1744df715f383c4f8a1736ab50232f7b83d80d2cfb4bac310d9bc18bfe5a60366e99bee2be80789f14172e7c2b13c51f332ce6bc7616be449ae2473dbc84c0871d437dc57d10f13e28171e1de0f4f06691d699db6bace26bb56f52a138d981287a96fb8afa31e27c5016fd614cb746f54f2a001956d92ab9ea8969683183026b353df715f473c4f8a016bbe8243bf412c9d0cc952d31bb5654bd96f622d604f0aa8bee2be8f789f1401638f5d3454e4dbf1e658cd9e2dc8f2925f212057c09fb9527dc57d1ff13e280153311315802c3a9b9977c33451f00d1f6a849cac814116a5fb8afa40e27c500132747ed7d6baf7eeffb5ae609a3e4239814b95560283d14cf715f482c4f8a00164e8fdafad75efddff6b5cc1347c847302972aac0507a299ee2be90589f1400255e4540c314e6273cb9ce17a5f5730e0b170b1550a10e934dc57d20c13e2800337db00c538ff479f63ffeaecb50c89bc0f23bea71423766ab8afa41927c500056fb6018a71fe8f3ec7ffd5d96a1913781e477d4e2846ecd5715f48324f8a000a6b7e5bc1ba5fa1355cc5d3aaca904eeae8d15699508f7dabe2be90659f140013630f10304b21c5228651cf4d8b7ec5d07de5092fa1209f58c57d20cc3e2800255230790d6ca60cfcd969c6930d5bb39ba80c6e5c4242e2b28afa41997c50004930734ac7afae9cb17f99b51e11158f31fc5b38b58487696615f48333f8a0009160e6958f5f5d3962ff336a3c222b1e63f8b6716b090ed2cc2be90667f14001224ddf83cb951cf57dcb2cfc703ab464c29daf3ed3121f499957d20cd0e280024327d16044009c6db3632020d86bc6f17fe7a0d9a324403733afa419a2c50004854fa2c0880138db66c64041b0d78de2ffcf41b34648806e675f4833458a00090a2b57d9bcd8d439855946ab59a579edfa4ac5c289910280cfbe90668c1400121356afb379b1a8730ab28d56b34af3dbf4958b85132205019f7d20cd18280024263971bfa039b368cd31e0d55e8c45dfe3d7596623440ba73ffa419a315000484b72e37f407366d19a63c1aabd188bbfc7aeb2cc4688174e7ff4833462a000909671d9572dbd3025ec94497d722775a78a09a7f48a10304100e90668c64001212b6fc5070850c2ce90f55922dc4549770ebf92451120622602d20cd18d800242556b9c66bd77e81fd9b7786db080f116182b66e61f40c5f006a419a31c000484a9634b2627c632c26b3bb70358f840542b0310283b818d840e483346390009095152a8a4fc62c8078e44342ea9e6ded050b262ac74031cac1d90668c73001212a13163a2a59bf291d4552e854bc41bc89c1107b4e5063afc3c20cd18e70024254162c7454b37e523a8aa5d0a9788379138220f69ca0c75f878419a31ce00484a8251a0e343462cca0921803d2706cd4a6af0612f9118ed94f18334639d009095032f541f3362bc16ca0fc6a24603f8bcd08d04bb1f31dccde40668c73b01212a055ea83e66c5782d941f8d448c07f179a11a09763e63b99bc80cd18e760242540a4962d57a6152dde00be0b11006411b3ce0554879c774db9119a31ced0484a8131ed803a199083e77e4878a1802e05e746cececf08eeb5b23334639db090950253db0074332107cefc90f143005c0bce8d9d9d9e11dd6b646668c73b61212a04a077267333a837c975ee4505801dfa1cc5ff60fbf3baf108dcd18e76d242540930ee4ce667506f92ebdc8a0b003bf4398bfec1f7e775e211b9a31ceda484a81261dc99cccea0df25d7b914160077e87317fd83efceebc423734639db49095024c3b933999d41be4baf72282c00efd0e62ffb07df9dd78846e68c73b69212a04980338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e0ce32f81fa6930b6ec2cb5e051611302ae8d5fc2ebcab3774639db4d095024bc19c65f03f4d2616dd8596bc0a2c226055d1abf85d79566ee8c73b69a12a04978338cbe07e9a4c2dbb0b2d78145844c0aba357f0baf2acddd18e76d34254092f067197c0fd34985b76165af028b089815746afe175e559bba31ceda684a8125e05a4550cc7cf58e268f9185fd0c6f58259518582bbcacdb75639db4d195024bbf409cfa45d04d9f04ebe933f20f3cd845d6730c54795b5aebc73b69a42a04977d0d4c4d3876fdc0c1a4988fdc14d7d886592874a5f2b859d88e76d34954092ef91a989a70edfb818349311fb829afb10cb250e94be570b3b11ceda692a8125df2353134e1dbf7030692623f70535f621964a1d297cae1676239db4d255024bbe46a6269c3b7ee060d24c47ee0a6bec432c943a52f95c2cec473b69a4aa04977c860d72c34463e8ed2164f25b943dbb0603ec9a65c2b874189e76d34964092ef8f4dc0b11562dfa05bf964736a7e1588bb29d5a8b557102714ceda692d8125df1d2793bad79c21c36fbf8f0eccf2893970ffedad67ae21f22a9db4d25c024bbe394f2775af384386df7f1e1d99e51272e1ffdb5acf5c43e4553b69a4b804977c722a61440b46e99076cb02632bc0830dbeabf9119bb8896cab76d34971092ef8e354c288168dd320ed9604c65781061b7d57f223377112d956eda692e2125df1c6359768d9f208c492f8cfb4a6f86a5ef55c26a26be22756aedb4d25c524bbe38b6b2ed1b3e4118925f19f694df0d4bdeab84d44d7c44ead5db69a4b8a4977c716626ffc149e859503b004fa93d807a3d01cdce5ac889efebc6d34971592ef8e2b50f250d6136dacbf2cd01d1fa66d6f9ae5fc2756113fa179da692e2c25df1c552df6fa58fd3ddc362666623743390730783aaaa92280e6f4b4d25c594bbe38a95bedf4b1fa7bb86c4cccc46e86720e60f07555524501cde969a4b8b2977c715243ee4210cb59f390665fb0d5034244bc8d2d06a18a053fd3d34971662ef8e2a313eedcce6d1669d8998589a1fce2b173c69c6940140c23a8a692e2cd5df1c54527ddb99cda2cd3b1330b1343f9c562e78d38d280281847514d25c59abbe38a8a4fbb7339b459a76266162687f38ac5cf1a71a50050308ea29a4b8b3577c715142b893f203f15d17c98f27507dd73b398e125a5fda062c1463497166bef8e2a2757127e407e2ba2f931e4ea0fbae76731c24b4bfb40c5828c692e2cd7df1c544e3a37552dd2b9c8aa308ffc176c2cf65e30d8f3f3818ca919d25c59b0be38a89b008103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a808103087bd6140c2de62026ceb814b70df443e4031af634a4b8b3627c71513501020610f7ac28185bcc404d9d70296e1be887c80635ec69497166c4f8e2a26a02040c21ef585030b798809b3ae052dc37d10f900c6bd8d292e2cd89f1c544d404081843deb0a0616f31013675c0a5b86fa21f2018d7b1a525c59b13e38a89a800d156128ac768ee5b2e64ec6ae72df08a08640001af7d8a5b8b3627d715134ff1a2ac25158ed1dcb65cc9d8d5ce5be11410c800035efb14b7166c4fae2a269fe345584a2b1da3b96cb993b1ab9cb7c22821900006bdf6296e2cd89f5c544d3fc68ab094563b4772d973276357396f84504320000d7bec52dc59b13eb8a89a7f85d686b379dcb7112fb2b1462dd8c1884b4a65bfeaf7f2e5c8b3627d815134fef46e32f1c11f964ddc31c50bdb1765904158f13fa5f0000ba166c4fb12a269fdd19d8b6e4fa554c7352fec973594ada02d76083f1be01a5752cd89f63544d3fb933b16dc9f4aa98e6a5fd92e6b295b405aec107e37c034aea59b13ec6a89a7f726762db93e95531cd4bfb25cd652b680b5d820fc6f80695d4b3627d8d5134fee45ad80fd4a90ce65264bc7392c0b4f81167467b8af00ecfaa66c4fb1ba269fdc741c27856287c4f5c963f0f1d77c8181d7acf5312e01f4355cd89f63844d3fb8d0f974959275b2170f9444632e5ee5835a1e10222c0402aac9b13ec7189a7f7191f2e92b24eb642e1f2888c65cbdcb06b43c20445808055593627d8e3134fee323e5d25649d6c85c3e51118cb97b960d68784088b0100aab26c4fb1c6269fdc6408cca376113b8e3f96e8598f25d0e9a7bb4a6d130202f965d89f638d4d3fb8c7119946ec22771c7f2dd0b31e4ba1d34f7694da260405f2cbb13ec71a9a7f718e23328dd844ee38fe5ba1663c9743a69eed29b44c080be597627d8e3534fee31c46651bb089dc71fcb742cc792e874d3dda5368981017cb2ec4fb1c6a69fdc63818dc900dea1b66b13b4bc0ea536cc27660e92d2d20313a5e89f638d5d3fb8c6f31b9201bd436cd62769781d4a6d984ecc1d25a5a406274bd13ec71aba7f718de63724037a86d9ac4ed2f03a94db309d983a4b4b480c4e97a27d8e3574fee31bc52f6d91c273db841a7242f4a91c43badb38bc566018b76f54fb1c6af9fdc637732000ae524ddf33b1b0e868d19e69f561359e6c9031891eb9f638d603fb8c6ed640015ca49bbe676361d0d1a33cd3eac26b3cd92063123d73ec71ac07f718dda5412844169da4fa43900422c5df8a552f9a9f7210c63ebaf7d8e3581fee31bb33437612faa1722003ec6ac50b24f72a09f964a3f18c97b5ffb1c6b04fdc63765686ec25f542e44007d8d58a1649ee5413f2c947e3192f6bff638d609fb8c6eca5cefdd6b7ebf0ab8c7e0d93abf9bf27d2a9b84f963279180ec71ac14f718dd9345f21383d3e098295c87da6d75960cf5017965efc650c702d8e3582aee31bb2517f67fb47e23b30a85d5dcd2e18a41e4af3527dc8ca33206b1c6b056dc6376492fecff68fc4766150babb9a5c31483c95e6a4fb91946640d638d60adb8c6ec925fd9fed1f88ecc2a1757734b86290792bcd49f72328cc81ac71ac15b718dd9244bc65650c7801b0bfb750e8f02b0372025eb9ae1651b34368e3582b7e31bb247239f054e6562b8cfc3b04515fbbe963af81991bfca380c6e1c6b0570c637648d473e0a9ccac5719f87608a2bf77d2c75f033237f947018dc38d60ae18c6ec91a1a8e6de66bed65f6db873c4fe55880e68ca8a2fc28e1d5b971ac15c418dd9233351cdbccd7dacbedb70e789fcab101cd195145f851c3ab72e3582b8831bb24666a39b799afb597db6e1cf13f9562039a32a28bf0a38756e5c6b05710637648cc6085c7e035cdb26ea9000a7721222f2f118773de471051cc8d60ae21c6ec91974d1de86d41fde7951ec63ce638a28658cf5143b98e22479a1ac15c448dd9232d264e29875a5e51e20a52a1c467a334ac4ae4e3701c4633353582b88a1bb246594c9c530eb4bca3c414a54388cf46695895c9c6e0388c666a6b05711437648cb2254afeca3fdbca3ff610af0994eafaabd7d5e9bd711a70d5d60ae2296ec919634a95fd947fb7947fec215e1329d5f557afabd37ae234e1abac15c452dd9232c6213e53d5d5d1abb7a508e41e4a0a12aa0b9a02f2c46b6758582b88a6bb24658b427ca7ababa3576f4a11c83c94142554173405e588d6ceb0b057114d7648cb16110ba8042da9319660e9b8711e8672a2daaa67c811af416260ae229bec91962b221750085b52632cc1d370e23d0ce545b554cf90235e82c4c15c4537d9232c56442ea010b6a4c65983a6e1c47a19ca8b6aa99f2046bd058982b88a6fb24658ac146f98ce43ac0f6ad413eb80ea91bd1181959a3d8d7baf14057114e0648cb15728df319c87581ed5a827d701d5237a23032b347b1af75e280ae229c0c91962ae51be63390eb03dab504fae03aa46f446065668f635eebc5015c453819232c55c2f8f1f1ef3c2fe0e6d6583ff4aec1086b8ef2de96bdf1ca12b88a70424658ab75f1e3e3de785fc1cdacb07fe95d8210d71de5bd2d7be394257114e0848cb156e4a4ed528a56e7af1825c37f5220e6a158fff13a2af7e1685ae229c1191962adb20b002fe213f789ad17e97e23a7afc25cc4083425efdd10c5c453824232c55b5416005fc427ef135a2fd2fc474f5f84b98810684bdfba218b88a70484658ab6a0ed264a55b60652312c08780e04a1891dd4469067bf8e8327114e0918cb156d31da4c94ab6c0ca4625810f01c0943123ba88d20cf7f1d064e229c1231962ada63b4992956d81948c4b021e03812862477511a419efe3a0c9c453824632c55b4c02a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e0a95f75ec596af418b298ffbe2bbb226599690c37f239652229c1235962ada5c152beebd8b2d5e8316531ff7c577644cb32d2186fe472ca44538246b2c55b4b82a57dd7b165abd062ca63fef8aeec899665a430dfc8e59488a7048d658ab697054afbaf62cb57a0c594c7fdf15dd9132ccb4861bf91cb29114e091acb156d2e03571ce992fcd76d07f5f27b622194a6045ab6834f23b092329c1235a62ada5bf6ae39d325f9aeda0febe4f6c443294c08b56d069e4761246538246b4c55b4b7e61d9931195985df9ca42c6d07ec3517bc2effcd0c8edc88da7048d6a8ab696fb4fc57ed001933eab614bb598f3e4caf23222559e91dd351c4e091ad6156d2df52b9d564cd989000e8f5d9329de27bddf1087073a23bc0e399c1235ad2ada5be9573aac99b312001d1ebb2653bc4f7bbe210e0e7447781c7338246b5a55b4b7d23a87b1e03c8682f20a3c749f6efd1f76ee5e78e58ef1dce77048d6b5ab696fa30121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d14090de36a7b7c44df09f889b6a2c3374447fa6e40ef2aee7f048d6b62b696fa28121bc6d4f6f889be13f1136d45866e888ff4dc81de55dcfe091ad6c56d2df45024378da9edf1137c27e226da8b0cdd111fe9b903bcabb9fc1235ad8ada5be8a0486f1b53dbe226f84fc44db51619ba223fd37207795773f8246b5b15b4b7d1401cf08f548e26d0a86c4ec36222919c3f2be9400bf2b08bf148d6b62c696fa27f39e11ea91c4da150d89d86c44523387e57d28017e56117e291ad6c58d2df44fe73c23d52389b42a1b13b0d888a4670fcafa5002fcac22fc5235ad8b1a5be89fc7396d351479907fb2f3c43090aeb09f40b8c5c5c9586038b46b5b1644b7d13f7733fff4f659492ae2b3eae0a0c343be2c35b14b62b0dab178d6b62c996fa27ed7292574ba18ba8142343840c0ec69fc032f88569561cfa301ad6c5942df44fd9713707441979d2e0134d301013eb677b123366cfac3b986135ad8b295be89fb16e80673509562877f36088181e34f6f0d0a9299c5878d4c36b5b1653b7d13f6169132716e90ed3a7b387382832c815dc4d94af35b0f34d87d6b62ca86fa27ec15e38a6daa8802a0733d498485bee53b3476bba6861e83f10ad6c5951df44fd814883a6622762d6c6346f5888ae3acf613b19d0cdc3d222225ad8b2a4be89fb011d19a5712528304435a4d90952d3c6bd2275fd9887a5e845b5b1654a7d13f6013a334ae24a5060886b49b212a5a78d7a44ebfb310f4bd08b6b62ca94fa27ec020078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec018078ee716b0343c8a3598c1d41ad42ef361a525f1e994517d6c5952af44fd80300f1dce2d606879146b3183a835a85de6c34a4be3d328a2fad8b2a55e89fb00601e3b9c5ac0d0f228d66307506b50bbcd869497c7a65145f5b1654abd13f600c03c7738b581a1e451acc60ea0d6a1779b0d292f8f4ca28beb62ca957a27ec01800500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff0a01942fb34c96b64ca48a7347422e618d297637328d77af8b2a55ea9fb005fe1403285f66992d6c994914e68e845cc31a52ec6e651aef5f1654abd53f600bfc280650becd325ad9329229cd1d08b98634a5d8dcca35debe2ca957aa7ec017f8500ca17d9a64b5b26524539a3a11730c694bb1b9946bbd7c5952af54fd802ff02c2b9ba80b2bee1c970ecf2c6a810e137ed9bf7028d91ef9b2a55eaafb005fdf585737501657dc392e1d9e58d5021c26fdb37ee051b23df3654abd55f600bfbe3cc0c74d03123b2a290164a9a0626048a7a959bda3661fe7ca957aacec017f7b0593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef50b27ce8db90df2183d91e2966e45d117f72a1ef08d9bc7a12a55eab5b005fdea164f9d1b721be4307b23c52cdc8ba22fee543de11b378f4254abd56b600bfbd42c9f3a36e437c860f6478a59b917445fdca87bc2366f1e84a957aad6c017f7a8593e746dc86f90c1ec8f14b3722e88bfb950f7846cde3d0952af55ad802fef503e8f41886741a43ba5e4515edabb397a1ee44b05d9be1e13a55eab5c005fde9f0930dbbda4e5cb2f188ecab5abd49aeeea0af208b37de0284abd56b900bfbd3d1261b77b49cb965e311d956b57a935ddd415e41166fbc050957aad72017f7a7a24c36ef693972cbc623b2ad6af526bbba82bc822cdf780a12af55ae402fef4f44986dded272e5978c47655ad5ea4d777505790459bef014255eab5c805fde9e81f20148724bf35a955b2d352b3a7d6e94cf17c8837dfa685abd56b910bfbd3cf3e40290e497e6b52ab65a6a5674fadd299e2f9106fbf4d0b57aad72217f7a79e0892aac9695f595d23917542c4fd839fe0084e1ddf803e17af55ae452fef4f3b11255592d2beb2ba4722ea8589fb073fc0109c3bbf007c2f5eab5c8a5fde9e76224aab25a57d65748e45d50b13f60e7f802138777e00f85ebd56b914bfbd3cec4495564b4afacae91c8baa1627ec1cff004270eefc01f0bd7aad72297f7a79d8153d05436c58188a05dd7c24463661f8acc73ddaf805857bf55ae453fef4f3af2a7a0a86d8b031140bbaf8488c6cc3f1598e7bb5f00b0af7eab5c8a7fde9e75e54f4150db16062281775f09118d987e2b31cf76be01615efd56b914ffbd3cebc35fa82c839234707fbb2091a281137c0127c4ad4c02dcfe0aad722a0f7a79d776bf5059072468e0ff764123450226f8024f895a9805b9fc155ae4541ef4f3aee63fc63cdbaef9ed7bb8e4c6096a306faf633875000b8e383ab5c8a84de9e75db540b20484c41c06743e2c0b923a435f098a96a9d01736b0856b9150abd3cebb53428993d6ee60386548ba96a3da693dbdd95313702e87a11ad722a167a79d7696851327addcc070ca91752d47b4d27b7bb2a626e05d0f4235ae4542cf4f3aed25cb4bda291fa90d11ef4cda0ecf8776a229720d90ba38c47b5c8a85ae9e75da3457bd3f1fa57a45a0aafc339d04f16cef1709daf1748bc906b9150b6d3cebb45170a0090cb11cb6be225ae6b96fc55988f23975b2e931d21d722a16ea79d76892e140121962396d7c44b5cd72df8ab311e472eb65d263a43ae4542dd4f3aed125c2802432c472daf8896b9ae5bf156623c8e5d6cba4c74875c8a85ba9e75da2444625d332ef0de16ddf39b54ae40d4bf255f16d6749a8d0fb9150b763cebb44714d7131334443ee588ad5ea152dfd178f70089a9e936be20722a16ed79d7688d29ae262668887dcb115abd42a5bfa2f1ee011353d26d7c40e4542ddaf3aed11a535c4c4cd110fb9622b57a854b7f45e3dc0226a7a4daf881c8a85bb5e75da23432caf146788479e412311d028d5cb3c26446a94c49b795049150b76ccebb44676595e28cf108f3c824623a051ab96784c88d5298936f2a0922a16ed99d7688ce573e1dc6b8746a48158a9c022bd0f7043d5d012e26dff8134542ddb43aed119b3a8e943a474b5747f7db5ffc4e00160326fc5e594dc194278a85bb6975da2335012f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4097c090b27c98a3de3e73f8492f2a007d1d8c57cdc266280a85bb69f5da2334812f812164f93147bc7ce7f0925e5400fa3b18af9b84cc50150b76d3ebb44669025f0242c9f2628f78f9cfe124bca801f476315f370998a02a16eda7d7688cd204be048593e4c51ef1f39fc249795003e8ec62be6e133140542ddb4faed119a4023d2e95f52fb26960b3a204125882877c9ceb3cac267cc0b85bb69f6da23347f47a5d2bea5f64d2c167440824b1050ef939d679584cf98170b76d3edb44668fe1b5dfe2a224f1d0ff9aea8fc8c7ec9d9d37d2b2809a0d42f16eda7dc688cd1fb36bbfc54449e3a1ff35d51f918fd93b3a6fa56501341a85e2ddb4fb8d119a3f66d77f8a8893c743fe6baa3f231fb27674df4aca0268350bc5bb69f71a23347ec670249fde8db6b379a3b6fdc5a5476c9482bb53d4d084579b76d3ee444668fd75a16eca8a8195927013d07b0ab07158d3c99c6779a122ef46eda7dc988cd1fad404031fe26953505cf4037594c6c53152575e8ec342601e9ddb4fb94119a3f590c92bca9238cecc36b4696aa8f36ce24f72e2dd5684da7d4bb69f72923347eb1192579524719d986d68d2d551e6d9c49ee5c5baad09b4fa976d3ee524668fd62324af2a48e33b30dad1a5aaa3cdb3893dcb8b755a1369f52eda7dca48cd1fac46495e5491c67661b5a34b55479b67127b9716eab426d3ea5db4fb94919a3f588553e233f0f314eee812f92a0e9cb0a4a1f25395384dc214cb69f72933347eb0f368e9f2af4c52094cf254d39c9f43c8eea8ccea409b9e69a6d3ee527668fd61d6d1d3e55e98a41299e4a9a7393e8791dd5199d481373cd34da7dca4ecd1fac3a664cd558a977050b095b5cdf1e2f1a365675968d26e93e6ab4fb949e9a3f587358ac035e29508ccddf7ce1b632bc5c67592d89174dd420d669f7293e347eb0e53d6a5f6929039c538bbfeb645bd6e0c95e9d6e2b9ba9e5add3ee527d68fd61c906e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac3910dce2efe50d376bdc88bfd815c17d31ad2fa70a86eaadeb94fb949f7a3f587221b9c5dfca1a6ed7b9117fb02b82fa635a5f4e150dd55bd729f7293ef47eb0e443738bbf9434ddaf7222ff605705f4c6b4be9c2a1baab7ae53ee527de8fd61c886e7177f2869bb5ee445fec0ae0be98d697d385437556f5ca7dca4fbd1fac391068f54891e399ee945586000db7db59a7dbe96683eaaf8f95fb949f7b3f58721f5dfce9d09d965fe077d228136614db4a64152904d560c32cf7293ef77eb0e43d480c2c4e118f4278bc6a781ec287de8f746cae06aac32a5aee527deffd61c8791c2ab148f98107a9459b18357b6de519951bb80a5587f8b6dca4fbe0fac390f138556291f3020f528b36306af6dbca332a377014ab0ff16db949f7c1f58721e270aac523e6041ea5166c60d5edb79466546ee029561fe2db7293ef83eb0e43c46d67e2f4a26ac001f99ee9a3d1cd50c755201c4fac4169b7e527df08d61c878766e21e961b3802bbc003fb3f99f8c9895682949c58847770ca4fbe12ac390f0d59d695d90cd2882f4cce1e772a4fbb0d59478535b10a92e2949f7c2658721e193fbf845ef0079316666264e64afd9e155ed166686216c9c6293ef84db0e43c310b91616ab671a8e4998af1c48c59642569e528cdc42f378d527df09c61c878611722c2d56ce351c93315e38918b2c84ad3ca519b885e6f1aa4fbe138c390f0c22e4585aad9c6a392662bc71231659095a794a33710bcde3549f7c2718721e1845c8b0b55b38d4724cc578e2462cb212b4f29466e2179bc6a93ef84e30e43c30845286f583d7d110165754440bbf46a514a94e8d942f51cd627df09c71c87860f1663375d515ca4ba97b0b0796e46fc9d416c2daf85ebddad4fbe138f390f0c1d2cc66ebaa2b949752f6160f2dc8df93a82d85b5f0bd7bb5a9f7c271e721e183a598cdd75457292ea5ec2c1e5b91bf27505b0b6be17af76b53ef84e3ce43c30743f2c13976147a88c8a4babc368960ce4b7a3c9792f60916b7df09c7ac87860e70a6a7fdb98f1d3d0e15d7f7ec78a41c41b89eeef5ec2c6d7fbe138f690f0c1cd14d4ffb731e3a7a1c2bafefd8f1483883713dddebd858daff7c271ed21e1839a29a9ff6e63c74f438575fdfb1e2907106e27bbbd7b0b1b5fef84e3da43c307345353fedcc78e9e870aebfbf63c520e20dc4f777af61636bfdf09c7b487860e6832ba5666657fbfc5e29e1fe46f02443c64e14af2ec2e1180be138f6a0f0c1ccf6574accccaff7f8bc53c3fc8de048878c9c295e5d85c23017c271ed41e18399e56fbb2466c6181cf573ea789b26738ec3fc787c8b0b9ea03f84e3da93c30733b3a09bd39af2586567b43770b5b2c99d32bd16b8e61757808f09c7b537860e6750025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200974c80d2b63d930d34583ab2dd6e840f94cc670bb2504b84e3da9fc30733a4012e9901a56c7b261a68b07565badd081f2998ce1764a09709c7b53f860e6748025d32034ad8f64c34d160eacb75ba103e53319c2ec9412e138f6a7f0c1cce9004ba640695b1ec9869a2c1d596eb74207ca663385d92825c271ed4fe18399d200235ed97f8ca015c5011e62aad3ccac0a410ec308b251ef85e3da9fc40733a3ff46bdb2ff19402b8a023cc555a7995814821d861164a3df0bc7b53f880e6747fe198dbeab08e2d9cbd13fb2a34590d823b07d681fc94962188f6a7f111cce8ffb331b7d5611c5b397a27f65468b21b04760fad03f9292c4311ed4fe22399d1ff66636faac238b672f44feca8d1643608ec1f5a07f252588623da9fc44733a3fec58804e051d79511656c3bd1222e4e918302d9cfb4a4cb4c57b53f889e6747fd73d12f4b7115524e47a4da21c3c27fa2b0c9d95f3949b0d8bf6a7f114cce8ffad0638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590c708435f219990182c2d860dd5c38a18afb0fc8526f7e31da9fc45533a3feb218e1086be43332030585b0c1bab8714315f61f90a4defc63b53f88aa6747fd6431c210d7c86664060b0b61837570e2862bec3f2149bdf8c76a7f1154ce8ffac8638421af90ccc80c1616c306eae1c50c57d87e42937bf18ed4fe22a99d1ff590531a9c0bf7fc12cff8f3ae05cc21b2135bf3588226f9871ea9fc45543a3feb1f324790c4c65aa857bead84038ea18c2164290d014df4b23e53f88aa9747fd63d648f21898cb550af7d5b08071d431842c8521a029be9647ca7f11552e8ffac7a55309bbfefcd2416c77c380630e458803ce6900237d46cfa4fe22aa6d1ff58f33673902cb5fccae55bbe98045826d8fb260f7c016faa7df59fc4554ea3feb1e56ce720596bf995cab77d3008b04db1f64c1ef802df54fbeb3f88aa9d47fd63ca65e0995fae55ae4d3bc0880956f98be744804c02beab9bd77f11553b8ffac79357d38b6c330ddf524447380aa4513fc93542f4027d58dbaffe22aa781ff58f253bb96f853c7e415c5554980d3f00a78d16c84401fab35b60fc4554f13feb1e49038537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac79220e14dedd3d7c15c1ddbd6049d17ddc53674b9003d5a16b0be22aa78dff58f2441c29bdba7af82b83bb7ac093a2fbb8a6ce972007ab42d617c4554f1bfeb1e48838537b74f5f0570776f5812745f7714d9d2e400f5685ac2f88aa9e37fd63c91070a6f6e9ebe0ae0eedeb024e8beee29b3a5c801ead0b585f11553c6ffac792206d604680ae23ded5a89c2c950e3bed3120fb5c3a5a1854bf22aa78e0f58f243f66d2e5ae32aa40631dfe812212d6025cee391471b4324d7f4554f1c2eb1e487d59b824093bb7037e08c32a3c1c0a2cb488b484e068663eff8aa9e386d63c90f93f82a0bf4dd089b3de4c7c702e728163bdab65bdd0ce22001553c70eac7921f10b179a2b7203961f895f20d853432ac227992778a19de8012aa78e1e58f243e1162f3456e4072c3f12be41b0a68655844f324ef1433bd002554f1c3cb1e487c22c5e68adc80e587e257c83614d0cab089e649de28677a004aa9e387963c90f8458bcd15b901cb0fc4af906c29a1956113cc93bc50cef4009553c70f2c7921f083d8bfb63f69be4b062b8357d2a90d41d25d4d38719e02413aa78e1e68f243e0f072a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0e549ee987349831246d25e496ffa069efd806166783d850a9e3879c3c90f83a1ca93dd30e69306248da4bc92dff40d3dfb00c2ccf07b0a153c70f387921f07439527ba61cd260c491b497925bfe81a7bf6018599e0f6142a78e1e70f243e0e872a4f74c39a4c18923692f24b7fd034f7ec030b33c1ec2854f1c3ce1e487c1d0715c474549ac05ca1398864166582e99a9c2bd63783f290b9e3879c4c90f839f6ecae73769ba8e4bf3f7347ac30e852dffc7d6c3f07ff6183c70f38a921f073d69a8271ba9d79f4fb4b490ed7c7b3256abd20984e101903178e1e716243e0e795f62a6e42a11c157362f49d2ef548ca803e66f06c204c463f1c3ce2d487c1cf14ad7a6752a8605663924bb9dd507414ab40f3a0a840b2cc8e3879c5b90f839e121c1a5972b6e8d843f0f9f33a06caa901460d0120817fd92c70f38b821f073c143834b2e56dd1b087e1f3e6740d9552028c1a024102ffb258e1e717043e0e7821318ef09841cb8c8c904a4c67810d23afdc59c4520619a4c1c3ce2e187c1cf032631de13083971919209498cf021a475fb8b388a40c334983879c5c30f839e064c63bc261072e32324129319e04348ebf71671148186693070f38b861f073c0c24d9d0f8f74848fe14eb4e2bb6e4b9d29a6f3e26030e7661e1e7170d3e0e781749b3a1f1ee9091fc29d69c576dc973a534de7c4c061cecc3c3ce2e1a7c1cf02e1f799c90b383a6b0207360a6d1f10f4515ff54950c3b7d88879c5c35f839e05b3ef3392167074d6040e6c14da3e21e8a2bfea92a1876fb110f38b86bf073c0b609f8caefa4711d784e93aa933e22650f043fae5130ef9a231e7170d8e0e7816b13f195df48e23af09d2755267c44ca1e087f5ca261df34463ce2e1b1c1cf02d627e32bbe91c475e13a4eaa4cf889943c10feb944c3be688c79c5c363839e05ac4fc6577d2388ebc2749d5499f113287821fd7289877cd118f38b86c7073c0b582b9f07a71d745a3cb600d12bd88478eaf03d41100efb4632e7170d8f0e7816af573e0f4e3ae8b4796c01a257b108f1d5e07a82201df68c65ce2e1b1e1cf02d5e3a8e77494c33ebaaa4c96ca758700ba66d37603d3beebccc9c5c363d39e05abb012f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4097a39fb7652d068b2c80a3539f1fa3c3588e3bbbef8ecd1c5c363db9e05aba812f473f6eca5a0d16590146a73e3f4786b11c7777df1d9a38b86c7b73c0b575025e8e7edd94b41a2cb2028d4e7c7e8f0d6238eeefbe3b347170d8f6e7816aea04bd1cfdbb2968345964051a9cf8fd1e1ac471dddf7c7668e2e1b1edcf02d5d4023b5f8643b8f8942f946cb4b957dcbbe04d097b8ef90711d5c363dbae05aba7f476bf0c8771f1285f28d96972afb977c09a12f71df20e23ab86c7b75c0b574fe1aea3a3dc4a0a7c3b1e155264c5556f2bf84bae0be43687670d8f6ec816ae9fb35d4747b89414f8763c2aa4c98aaade57f0975c17c86d0ece1b1edd902d5d3f66ba8e8f712829f0ec785549931555bcafe12eb82f90da1d9c363dbb205aba7ec63642a9afb67c0d55bd0d12a5908df90a8683302f21ce7b486c7b7650b574fd752daade2cd3204628467ca4ca86fe71bfd12c202e43b736a0d8f6ecb16ae9fad31c7b47270c68b7cd595bc91473df632a667e002c8788ad51b1edd972d5d3f59638f68e4e18d16f9ab2b79228e7bec654ccfc00590f115aa363dbb2e5aba7eb253312a76997cb0ab231d1a3d135600c545e1dc0821e3cf556c7b765db574fd633274ad9a095be40e13005c721d0a29853806140d43c942abd8f6ecbc6ae9fac564e95b3412b7c81c2600b8e43a14530a700c281a87928557b1edd978d5d3f58a55e50f14fbd212f018c799c06a86ce0f8c5aac320f26aeb063dbb2f2aba7eb1337dc76d6ce06a897fe555b78cb6bc419c4f7b4611e4f0161c7b765e6574fd6256fb8edad9c0d512ffcaab6f196d7883389ef68c23c9e02c38f6ecbccae9fac4a6b8434080e7d2517c61b95db240d3861c0212d81793da9881edd979a5d3f5893631ac0bcf35ccce758fd53ae3e7898be2c84b6fff27cf7113dbb2f35ba7eb1255247da26bd1c1c867ec0cf54734f5977054bc9fce4fb92237b765e6c74fd624930a20cfa509abbc4ca47c6a0dcfcdae8b6d9eff6c9f8c847f6ecbcd9e9fac491614419f4a1357789948f8d41b9f9b5d16db3dfed93f1908fedd979b3d3f589224e9a8c9618cd71caf5e5427b6a51939d87aa1bd827e4c520dbb2f368a7eb1243294771d907fd664db890aceecb014f35bb9693ad4fcb2e42b765e6d24fd62485528ee3b20ffacc9b712159dd96029e6b772d275a9f965c856ecbcda49fac490a31302010f6581beeaf08dbb3226364d19a9caab23f2e5d0bdd979b4a3f58921362604021ecb037dd5e11b76644c6c9a3353955647e5cba17bb2f36947eb1242650d2d8f0afc2f27288e996c47febbb4116b506c5fcbb1830765e6d29fd62484b2db80a8e35e8679cde995580f6359e7cd9ac6988f977d461ecbcda54fac490955b70151c6bd0cf39bd32ab01ec6b3cf9b358d311f2efa8c3d979b4a9f589212a42f282e5ae04212b472b7dfbcf34a1ee12f40220e5e0f588b2f36954eb12425311f75e78326ac50e5b1d23ef94c76bd6d22a603ecbc38f1265e6d2aad62484a523eebcf064d58a1cb63a47df298ed7ada454c07d97871e24cbcda555ac49094a47dd79e0c9ab14396c748fbe531daf5b48a980fb2f0e3c49979b4aab589212941bcd4c6e69b8ab2aa5af47749c9986b13d955df35e1e1c942f369557b1242527379a98dcd37156554b5e8ee939330d627b2abbe6bc3c39285e6d2aaf62484a4e6f3531b9a6e2acaa96bd1dd272661ac4f65577cd78787250bcda555ec490949c6a7cbc202427dc0cfa40639cdb2a5d8498ed4b97f0f288a279b4aabe89212937610bd0ed1eb23ad1c146ef31acb2e303de1cf32ce1e6b545f369557e1242526d4e29fa8713c6f85b4f54065b4fc3ee02687c4256c3cf0e8ce6d2aafd2484a4d928664dbafdf0736e6b6e34ae95e603ff7d3ae0aa879fc11acda555fb490949b150cc9b75fbe0e6dcd6dc695d2bcc07fefa75c1550f3f82359b4aabf6921293622dab8f98ce2450717a7efab24df637f8a12ddea71e80a86c369557ee242526c35b571f319c48a0e2f4fdf5649bec6ff1425bbd4e3d0150d86d2aafdc484a4d8642c097100ef3c47db6c212c12e3707dd30f9d6997a0445b1da555fb990949b0b119386ccf44a0bb33a4a4d7a52cc37b50e36092ff40a2f64b4aabf742129361523270d99e894176674949af4a5986f6a1c6c125fe8145ec969557ee842526c2a464e1b33d1282ecce92935e94b30ded438d824bfd028bd92d2aafdd084a4d85418ae8f1478b2e0519f1893ca8cbfe5a31df2a57ca0531f26a555fba20949b0a7315d1e28f165c0a33e312795197fcb463be54af940a63e4d4aabf7441293614e62ba3c51e2cb81467c624f2a32ff968c77ca95f2814c7c9a9557ee882526c29c5186d1509bf98544c58ac64c5c5d55139bd787e2029a9d362aafdd114a4d85372f1ffb4e0e558d4157dbb490af18d221e3f16bc10536de6d555fba23949b0a6d5e3ff69c1cab1a82afb769215e31a443c7e2d7820a6dbcdaaabf7447293614da489245e50fb8b7bd2c34fa3ab2c170823c080b0114dd1db6557ee88f526c29b31d36e476f5d3f23225301c6d5be108ff245271ff29bbdf6daafdd11fa4d853653a6dc8edeba7e4644a6038dab7c211fe48a4e3fe5377bedb55fba23f49b0a6ca00edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c076f54456d925c030c34cd6b2f125fb9ec611fcd37890dbd5fba23fc9b0a6c980edea88adb24b80618699ad65e24bf73d8c23f9a6f121b7abf7447f93614d9301dbd5115b649700c30d335acbc497ee7b1847f34de2436f57ee88ff26c29b2603b7aa22b6c92e01861a66b597892fdcf6308fe69bc486deafdd11fe4d85364c003079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe0c1e740ebe210ba2404bfaab9e108e65c9516341e249ff5bee88ff2ac29b25fc183ce81d7c4217448097f5573c211ccb92a2c683c493feb7dd11fe5585364bf83079d03af8842e89012feaae7842399725458d078927fd6fba23fcab0a6c97f060f3a075f1085d12025fd55cf084732e4a8b1a0f124ffadf7447f95614d92fe04df99998b8733cdbd185d2b1d7670e574158901b24a199bfe88ff2ad29b25fbf28058bde4748fc6f6fd1cd5ba52c44a92ef37c334944d780d11fe55b5364bf7d500b17bc8e91f8dedfa39ab74a5889525de6f8669289af01a23fcab6a6c97efa2c288825f38674758c0d5d668b0f3a9f68104cca25150204447f956e4d92fdf35851104be70ce8eb181abacd161e753ed02099944a2a040888ff2adc9b25fbe63cb47944a47c548dfcfb9d92229b12784c838f259455ac1211fe55ba364bf7cb057b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef950af6966c3eb657a78d7ac638772899d68a92f4905159f84a47f956ead92fdf2a15ed2cd87d6caf4f1af58c70ee5133ad1525e920a2b3f0948ff2add5b25fbe542bda59b0fad95e9e35eb18e1dca2675a2a4bd2414567e1291fe55bab64bf7ca857b4b361f5b2bd3c6bd631c3b944ceb45497a4828acfc2523fcab756c97ef9503b7bbf70c1c7fd30a4728b7f68e7c5635571a50215a128a57f956eae92fdf29f0309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a0c275e3967c9f46456acfbdb20b6cb055c969804ad0fd52ffcab757897ef94f4184ebc72cf93e8c8ad59f7b6416d960ab92d30095a1faa5ff956eaf12fdf29e8309d78e59f27d1915ab3ef6c82db2c15725a6012b43f54bff2add5e25fbe53d0613af1cb3e4fa322b567ded905b6582ae4b4c025687ea97fe55babc4bf7ca7a04e883c435301c8fd3795e5aa01cad85075abdc47d0fef700cab7578a7ef94f3f2922d1337c6614b23bf1f34bf9f3d89b979a148ca1ff9202956eaf15fdf29e7d5245a266f8cc296477e3e697f3e7b1372f34291943ff24052add5e2bfbe53cfa309d9d7ac7fad580bc8df527de2d8a690aaaae2f87ffec0b55babc58f7ca79f3613b3af58ff5ab01791bea4fbc5b14d215555c5f0fffd816ab7578b1ef94f3e64e88ce97f64dd8babefdfc976f14519ed6ed14bb2001542e56eaf164df29e7cb2923f5dcc2fe342d4ac22126d486cb385a1c857340044c5dadd5e2cabe53cf955247ebb985fc685a9584424da90d9670b4390ae6800898bb5babc5957ca79f2a30a2301fe25b536cf7ceac93487954dc14b471ca0012d577b7578b2bf94f3e536144603fc4b6a6d9ef9d592690f2a9b82968e3940025aaef6eaf1657f29e7ca64e9b192c5fcfd06bac00da4518437b6aff142325004cf9dfdd5e2cb0e53cf94b29488b059602238f24c7dc8226e51ed0aa6aa247009b97c0babc5962ca79f2955291160b2c04471e498fb9044dca3da154d5448e01372f817578b2c594f3e52a313484c32e6b10f45fe59a0091f2a33d55ece51902700303eaf1658c29e7ca53626909865cd621e8bfcb340123e5467aabd9ca3204e00607d5e2cb1853cf94a650e46bb9900ec6894c5c8ffa3e28b4f003f5f06109c1b010abc59631a79f294b2ddb301ff6800fca657f47ec72af91dab42e3cbf13850422578b2c644f3e52955bb6603fed001f94cafe8fd8e55f23b5685c797e270a0844af1658c89e7ca52a437f192cb062c1e162c347a9c11c6f657cfb4ef94e15b48a5e2cb1923cf94a5313108b063728067a924cb74b789706c5a638f9ef9c2d0d15bc59632579f294a52621160c6e500cf524996e96f12e0d8b4c71f3df385a1a2b78b2c64af3e5294a4c422c18dca019ea4932dd2de25c1b1698e3e7be70b43456f1658c95e7ca52942496b0de8fa2b68c5f2be253bb165e27de0a2b79e16a0caee2cb192ccf94a527492d61bd1f456d18be57c4a7762cbc4fbc1456f3c2d4195dc59632599f294a4e1e6d1c2714ed5ce94975b146e2b7a09a246b09e485a9d6bc8b2c64b43e52949b3cda384e29dab9d292eb628dc56f413448d613c90b53ad791658c9687ca5293605c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b0b8d9292542fecb9e539da27027954c67bdd071e2d51fde6596325a3f294a4d6171b2524a85fd973ca73b44e04f2a98cf7ba0e3c5aa3fbccb2c64b47e52949ac2e364a4950bfb2e794e7689c09e55319ef741c78b547f799658c968fca5293585c6c9492a17f65cf29ced13813caa633dee838f16a8fef32cb192d1f94a526b044eb81d219614e562063ca681df374626a12cddfd521826696325a40294a4d5f15e95c5109251f640d8dbcc8324510bf8067f7bcaa44a8ce2c64b48152949abd2bd2b8a2124a3ec81b1b7990648a217f00cfef795489519c58c96902a529357a57a5714424947d903636f320c91442fe019fdef2a912a338b192d2054a526af43b5d3b351f8b7dd839340e398886adf6af8219e25226ea726325a40b94a4d5e702cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a0b333c5c55e5f9a0fcb911ac1dae0fa02d1a3f06913de397192d2060a526af34166678b8abcbf341f97223583b5c1f405a347e0d227bc72e325a40c14a4d5e682cccf1715797e683f2e446b076b83e80b468fc1a44f78e5c64b48182949abcd05999e2e2af2fcd07e5c88d60ed707d0168d1f83489ef1cb8c9690305293579a03f461e7234c21cc7985742b9d13f21fd7de64c6613dfdd7292d2060b526af33f0a9e95913fe6bc46fd74ad6b98dc6bf5a80ef4c927c15ee625a40c17a4d5e67d153d2b227fcd788dfae95ad731b8d7eb501de9924f82bdcc4b48182f49abccfa2a7a5644ff9af11bf5d2b5ae6371afd6a03bd3249f057b989690305e935799f454f4ac89ff35e237eba56b5cc6e35fad4077a6493e0af7312d2060bd26af33e835fbb1c0d4ce4727a410feb18424e7552d31a88f7c1792635a40c17b4d5e67cf6bf76381a99c8e4f4821fd630849ceaa5a63511ef82f24c6b48182f69abccf9e64011fb0299b9f565d0a22be06f1c54f6108fe3af05fed8e690305ee35799f3b5414980d2999c16486da6d740441b2996e545872e0c17f1dd2060bdd6af33e75343b88c729960580da7b02dffee18d2d88eb0ce2c184a23ca40c17bbd5e67ce96877118e532c0b01b4f605bffdc31a5b11d619c58309447948182f77abccf9d25d007bc97cba98bb36b23377f1e45cb0cfee8f8806142cf390305ef05799f3a34613503fcfd7b42e3a2a8ee7da26e15c4c1f7b0d0c29fde82060bde1af33e7451838f92c7611eb14411b45c7aaabeab34481521718559fd140c17bc45e67ce893071f258ec23d62882368b8f5557d5668902a42e30ab3fa28182f788bccf9d1260e3e4b1d847ac51046d171eaaafaacd1205485c61567f450305ef11799f3a244dda221086f1db59d5a056354bbd7d94d04cecb5c2aea28b060bde23f33e744727c69ccde446396b7806d4628dd923244cdc3568855ee9170c17bc48e67ce88d4f8d399bc88c72d6f00da8c51bb2464899b86ad10abdd22e182f7891ccf9d11a2b2ccbe4677b6865ace179822dc2b48bdfb3319f157d485d305ef12499f3a233565997c8cef6d0cb59c2f3045b856917bf66633e2afa90ba60bde24933e7446638c5883e7450244e804c0e00ad68fa2a2b0f227955f6c575c17bc49367ce88cb718b107ce8a0489d00981c015ad1f454561e44f2abed8aeb82f78926cf9d11966f2879a6a7a313f1cdf65ffaac0210a3587ee5e257dcb9d805ef124e9f3a232b6a634bfa25a8aa9b68b2e7ed4e6249415d4027c1afbb17b10bde249e3e74465560d8f0a121b3d7ee9e2bf7d29322ba7d66c2ab805f77d36317bc493d7ce88ca94dc439ef19ca3295091e179d1ca39cf579c7b2fdbef14ac72f78927bf9d11951279acc8b09f6e7e1df0257322fa561e59fd1c1f87de4398f5ef124f8f3a232a14f35991613edcfc3be04ae645f4ac3cb3fa383f0fbc8731ebde249f1e74465422a7d8ad8fe3e223f48cf84c0b4f3af912b8963def7928a3e7bc493e4ce88ca8354fb15b1fc7c447e919f098169e75f225712c7bdef25147cf78927c99d11950636088410cf5b0bb4f0043afaca2ce63f5a67eb78de4bccfaef124f943a232a0b6c1108219eb61769e00875f59459cc7eb4cfd6f1bc9799f5de249f2874465416643468f013ceb18b8cd713e31f11c0f815e209e07930d7ecbc493e51e88ca82b547b2a8cfdffe5cee6744fbe3481a9ead8066fbdf26353da78927ca4d11950553508adc6d2624e5599aec7745f617bd05c4f3b78e4c84bb5f124f94aa232a0a96a115b8da4c49cab335d8ee8bec2f7a0b89e76f1c990976be249f2954465415260350fc81febbc0e338145c973e4173c1d7f49e09322d2d8c493e52b88ca82a34c7c783d1639fad433c8b38ade265672e740efbe264749b28927ca5811950545250b492702d6786034578f0db2aad4e07ac43b794c903766124f94b1232a0a894a16924e05acf0c068af1e1b6555a9c0f58876f299206ecc249f296246541512203f7d48e1bc64389e24642ec1097b7c975349e232428199493e52c58ca82a23407efa91c378c8713c48c85d8212f6f92ea693c464850332927ca58b195054460d104dd05d54139a4557b8b2fa8415ed098f8385c90baa6624f94b1732a0a88b1a209ba0baa827348aaf7165f5082bda131f070b921754cc49f2962e654151163441374175504e69155ee2cbea1057b4263e0e17242ea99893e52c5cca82a22c68826e82eaa09cd22abdc597d420af684c7c1c2e485d533127ca58b9950544585d1735b2aba3bc5c2241b3279e9f86cb453a945990bc4a634f94b1742a0a88af4640c4122da9fb7011498e47339d359136b784b0217a38c79f2962e95415115d1893e0d131b67997ef5944865d98931d19b1655d42f615903e52c5d3a82a22b93127c1a2636cf32fdeb2890cbb31263a3362caba85ec2b207ca58ba750544572624f8344c6d9e65fbd65121976624c7466c595750bd85640f94b174ea0a88ae450b15f3664164f7747904c2ae322c0e379cd86e717b25082f2962e9e415115c72d7517199e8f21a65be6c04dbca3a9c19fdd69cb2f664506e52c5d3d82a22b8d5aea2e333d1e434cb7cd809b794753833fbad3965ecc8a0dca58ba7b0544571a41e6b513509f09513c61292ee8eccf012bb80329bd9ab81c94b174f70a88ae330fdfc2d377a0955a45887a55c837c5fd03b262507b37143a2962e9ef15115c651fbf85a6ef412ab48b10f4ab906f8bfa0764c4a0f66e287452c5d3de2a22b8ca3f7f0b4dde8255691621e95720df17f40ec98941ecdc50e8a58ba7bc544571940b106f4893672d89f909faa6381c57e2c9d56e80d9ba45d24b174f79a88ae3271620de9126ce5b13f213f54c7038afc593aadd01b3748ba4962e9ef35115c64e2c41bd224d9cb627e427ea98e0715f8b2755ba0366e917492c5d3de6a22b8c9c58837a449b396c4fc84fd531c0e2bf164eab7406cdd22e9258ba7bcd445719383d194d360cd55b575d65d25b7823a6274999440a9ba60125b174f79b88ae326f0644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd0c89e631e01a72cd0f23995dcd4ae8927ee9c8246e9b4c98c5d3de7022b8c9ba1913cc63c034e59a1e4732bb9a95d124fdd39048dd3699318ba7bce045719374322798c78069cb343c8e6577352ba249fba72091ba6d3263174f79c08ae326e8644f318f00d39668791ccaee6a574493f74e412374da64c62e9ef38115c64dd054b0bbcad809af88beffbdd4cb0cb1229adede43e9b66d8d5d3de7032b8c9b9f3573d0428675e1c94ac5a3a18c778a3fe2001884d36e7f1bba7bce075719373d6ae7a0850cebc392958b474318ef147fc4003109a6dcfe3774f79c0eae326e7a61e199b6f03a09dcf7dcb67e283c50fa3442be104dbba06fe9ef381e5c64dcf34fd58c1ab6d69671bc7f94f446d6c9ef14c7d81d9b78e4e0d3de703db8c9b9e52bbd70e2440faf9b45c551e0840bbbd8d5d20c3836f36dc2a7bce07c719373c9577ae1c4881f5f368b8aa3c1081777b1aba418706de6db854f79c0f8e326e7923b081c35e6a14124e3db6f7a068d175e038a8cdddbcf5b0b9ef381f2c64dcf2302229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a088a44628e94140651f41bb00de15adacd5dd6e2de816860f79c0f9a326e7914111488c51d28280ca3e837601bc2b5b59abbadc5bd02d0c1ef381f3464dcf2282229118a3a50501947d06ec037856b6b35775b8b7a05a183de703e68c9b9e4504452231474a0a0328fa0dd806f0ad6d66aeeb716f40b4307bce07cd19373c8a014b69ed5bfa3c31cec07e2f8d473d5a7821fca2ae8182a1079c0f9a426e7913f296d3dab7f478639d80fc5f1a8e7ab4f043f9455d0305420f381f3484dcf227e52da7b56fe8f0c73b01f8be351cf569e087f28aba060a841e703e6909b9e44fc31c74f5ad3809b9f2d053fbe99fcd536bd40ad5440c2f484ce07cd22373c89f7638e9eb5a701373e5a0a7f7d33f9aa6d7a815aa88185e9099c0f9a446e7913ee532f96182464f13480db26f25e517cd5a145114e030d7614381f3489dcf227db327184dd1f2c6520ce7c75dcb30121a5eecc7e99061c9029703e6914b9e44fb564e309ba3e58ca419cf8ebb96602434bdd98fd320c392052e07cd22973c89f6a55d86c215314173b06b7ff6ac262ae92677456611873e4a6c0f9a453e7913ed337c330ef7c8ab12dda3626cd7b23851f7b2b08bf30e96d4e81f348a8cf227da56f8661def915625bb46c4d9af6470a3ef656117e61d2da9d03e691519e44fb4a6b1f1c6ac88d476f359ec32de2ec3c7898ee7ef9c3a7593b07cd22a43c89f69362509182677d11963803ae53bc36a0ebde1f59f0875056770f9a45497913ed2550b37bb1a55ca5e43ccd849f6ecb69d268810fde0ea250ef1f348a93f227da492d795010211bce8046613136d3f4fb9f7d447bb91d4645df3e691528e44fb4915af2a02042379d008cc2626da7e9f73efa88f7723a8c8bbe7cd22a51c89f692241f798ed5ad1bcb8e64aecd346321678a1544ae1751abb7df9a454a4913ed24310018a878c05fc29995c019e82c254ebeeeaf1bfea371afcf348a94a227da4852003150f180bf85332b8033d0584a9d7ddd5e37fd46e35f9e691529444fb490a40062a1e3017f0a66570067a0b0953afbbabc6ffa8dc6bf3cd22a52889f692140c1eace93692640497a634ec0c70cf5a2399e9fc51ba7be89a454a5213ed2427183d59d26d24c8092f4c69d818e19eb44733d3f8a374f7d1348a94a427da484e307ab3a4da4990125e98d3b031c33d688e67a7f146e9efa2691529484fb4909c60f56749b4932024bd31a76063867ad11ccf4fe28dd3df44d22a52909f6921384dfd27403f88c301472976b8bd6b1d9ce5e0fbc21ba9628aa454a5223ed2426f280ca72d557408ba5b19156971346334780453813754691648a94a457da484dd50194e5aaae81174b6322ad2e268c668f008a7026ea8d22c9152948afb4909ba2c44f5622c32a5a1392a7d9dbb2fb4cc8c53aa01dd53485a22a52916f69213735889eac458654b427254fb3b765f699918a75403baa690b4454a522ded2426e63d262e35872d193cb1701e6ee31cfb2cdd910404754ec5698a94a45cda484dcb065eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b950cbd6a2fc9796a625f4cc9ab79303ca8cec8c80bd53e5da82a5291756921372a197ad45f92f2d4c4be999356f26079519d919017aa7cbb5054a522ead2426e5432f5a8bf25e5a9897d3326ade4c0f2a33b23202f54f976a0a94a45d5a484dca865eb517e4bcb5312fa664d5bc981e5467646405ea9f2ed4152948bab4909b95057e8fba96df928ddc192c2af8961f28798cedcba53e77e83a52917579213729f3be44fffb254d4734febad5709220d09dde01571a7d0a1084a522eb02426e53d03daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca7907b5f1587618573cd93b054c1144841cd0050dc09f45cc232948bac2909b94f20f6be2b0ec30ae79b2760a9822890839a00a1b813e8b984652917585213729e41ed7c561d8615cf364ec153045121073401437027d17308ca522eb0a426e53c83daf8ac3b0c2b9e6c9d82a608a2420e680286e04fa2e61194a45d61484dca79007716e3437e7f68560767cb90aa669c7ac933806f45e6633948bac2a09b94f1f0ee2dc686fcfed0ac0ecf972154cd38f5926700de8bccc672917585413729e3e1dc5b8d0df9fda1581d9f2e42a99a71eb24ce01bd17998ce522eb0a826e53c7c3b8b71a1bf3fb42b03b3e5c855334e3d6499c037a2f3319ca45d61504dca78f803293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0ca4efc15387ac3750b7ce22831311d5d5d771b117a01ce922eb0a866e53c7bc1949df82a70f586ea16f9c45062623ababaee3622f4039d245d6150cdca78f783293bf054e1eb0dd42df388a0c4c4757575dc6c45e8073a48bac2a19b94f1ef065277e0a9c3d61ba85be711418988eaeaebb8d88bd00e74917585433729e3de0566154c20edd462cd8430a20278f455809b9770e7a0372932eb0a867e53c7bbf38d50230f41d0f117d4c3c38457cb2aabfb54a19f40889275d6150d0ca78f77d71aa0461e83a1e22fa9878708af965557f6a9433e811124ebac2a1a194f1eefa6f666170a6d6befdc1f718d90c50f2a5ab178464d023c89e7585434429e3ddf36adf1b8e241000b350b459aa0f000d46027164c6a049353deb0a868953c7bbe561d08fc91e82841e6e2edb4c145e4286b125258a40940e7cd6150d13a78f77c94fb3783f13678af4a923de901f1aad080e8ca7118129c0faac2a1a284f1eef912b79492afd3198a11f0de5183493820ac95baa20025525f6585434519e3ddf2156f29255fa6331423e1bca306927041592b7544004aa4becb0a868a33c7bbe4239f77d58cb28e53c48fdbc58c8ac3025d1b1047d09563bda6150d14778f77c830001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe414000a9af365a26982f60d054c3db442327d2327b89570ddae150d147f8f77c828001535e6cb44d305ec1a0a987b688464fa464f712ae1bb5c2a1a28ff1eef9050002a6bcd9689a60bd8341530f6d108c9f48c9ee255c376b8543451fe3ddf20a00054d79b2d134c17b0682a61eda21193e9193dc4ab86ed70a868a3fc7bbe41400035c18f06fcfab2189d1aebd33a814fccdebde5540ddc8551d147f8f87c827fff6b831e0df9f564313a35d7a675029f99bd7bcaa81bb90aa3a28ff1f0f904fffe631894c8ca4d4b1a4131d744e063672e2739f14d3773b948451fe3e2f209fffb5243823e6afd18ec4f29d681b724f656fab63e976ee916918a3fc7c6e413fff530995d29ac5cb4906b19d4fb64a814a8a1aed92bddd3d124147f8f8ec827ffe96132ba5358b96920d633a9f6c9502951435db257bba7a24828ff1f1d904fffd24e77cd5387d554f9792d7be588fe7a9d32fdc0ac7750e89151fe3e3c209fffa32901f353e60d2caabf211fc3085b1d35123ddd55eea37523a3fc7c79413fff455203e6a7cc1a59557e423f8610b63a6a247bbaabdd46ea4747f8f8f2827ffe8a301a25fc6e973562c94aa70417ca9ccef539d154ba8f788f8ff1f1e604fffd1360344bf8dd2e6ac592954e082f95399dea73a2a9751ef11f1fe3e3cc09fffa264c7af09e90bf5842f1f0c40855889b368129a14fea3f863f3fc7c79913fff44b250839e9f7e1333db0a7b008a16f5e67ae959e9cd480b07f7f8f8f3327ffe8954a1073d3efc2667b614f601142debccf5d2b3d39a90160feff1f1e664fffd12a20334054b5e74fae8f64e81a7c1ba1996698d670520465fefe3e3ccd9fffa253406680a96bce9f5d1ec9d034f8374332cd31ace0a408cbfdfc7c799b3fff44a60cdf59ffadffc1720a59c861e6ccae6046a5b5be48133bfcf8f8f3377ffe894b19beb3ff5bff82e414b390c3cd995cc08d4b6b7c902677f9f1f1e66efffd1296337d67feb7ff05c8296721879b32b9811a96d6f9204ceff3e3e3ccddfffa252c66facffd6ffe0b9052ce430f36657302352dadf24099dfe7c7c799bbfff44a585a07f8a7b65e99d87262ae1663290dff169db7e1813563d08f8f3378ffe894af402249fc431fb668b18b8424bcb043f8d97dcbc0026c6ba21f1e66f2ffd1295d0c56eca55ca1ef892fdd30416fbeafec5f3df37d04da7b453e3ccde6ffa252b918add94ab943df125fba6082df7d5fd8be7be6fa09b4f68a7c799bcdff44a572315bb2957287be24bf74c105befabfb17cf7cdf41369ed14f8f3379bfe894ae462b7652ae50f7c497ee9820b7df57f62f9ef9be826d3da29f1e66f37fd1295c851812302a0817b4aca992c0ef24926c0a02193cd4da95854e3ccde70fa252b8f2f149eb21765794d61f88015daf0757bec8583979b5454aac799bce2f44a571d5e293d642ecaf29ac3f1002bb5e0eaf7d90b072f36a8a9558f3379c5e894ae3a4864d37533f867ed54a8284f621ffdea5e586a5b6d52f6ac1e66f38cd1295c731cdbff973e53529276167896ba9e23cf68f330b3daa791593ccde71aa252b8e539b7ff2e7ca6a524ec2cf12d753c479ed1e66167b54f22b2799bce3544a571ca736ffe5cf94d4a49d859e25aea788f3da3ccc2cf6a9e4564f3379c6a894ae39472f25566c8fd174b7d79ecadcb4f4675f3dbe19bd53e2ecae66f38d61295c72771f7037a685cb14ec7ba01538cfcb4e693fa1f34aa7e0196ccde71ad252b8e4d70005fa1a71be5555c3a2a9f105791c7d4369a6654fda72e99bce35b4a571c996c1317f0249a4d62853a7d36170d4b8a54af90c9a9fcf25e3379c6b794ae39316438888d1f971d7cd73b22642478bf0f55a17d9053fb88bd66f38d70295c7261548369c71590bdb17b3c6cc03f4fa6195785571da7f8b57bcde71ae152b8e4c135192c3b0183fe1ac33f017874fd742d5b4d0a384ff30ef89bce35c3a571c9816a3258760307fc35867e02f0e9fae85ab69a14709fe61df1379c6b874ae3930260770998dc727b22d9c22dd9ca53f8b0197684de3fcddfe36f38d70f95c726034d006bde8f4778fd804a83ab8b06195adf2f65b97f9d63c7de71ae202b8e4c0526133069f4f174b2cd5b2f4f0c6a5ab06aa1276fff3c6b90bce35c41571c98094c2660d3e9e2e9659ab65e9e18d4b560d5424edffe78d72179c6b882ae393012245f1a54aa2855830232e534280792bc56c6f9bcfcf35243f38d71065c72602348be34a95450ab060465ca68500f2578ad8df379f9e6a487e71ae20cb8e4c0461d8ec1ff7f03d8c3d591bcc8967c72ec075e42f0f3ceed10ce35c41a71c9808b3b1d83fefe07b187ab2379912cf8e5d80ebc85e1e79dda219c6b8834e3930116024d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c0456093582ab49c7971c8c346c69413fceab26ed9f033cf56110e35c41ab1c9808ac126b0556938f2e391868d8d2827f9d564ddb3e0679eac221c6b883563930115824d60aad271e5c7230d1b1a504ff3aac9bb67c0cf3d584438d7106ac726022b049ac155a4e3cb8e461a3634a09fe7559376cf819e7ab08871ae20d58e4c045601f6a836172dbf480900cee8c0a5b12ad1b1c4c30cf57b50f35c41ab2c9808abf3ed506c2e5b7e9012019dd1814b6255a363898619eaf6a1e6b8835659301157e09bc6632a1d254ba0cf9e2281fca72af18b38cc03d60783dd7106acc26022afb1378cc6543a4a97419f3c4503f94e55e316719807ac0f07bae20d5984c0455f626f198ca874952e833e788a07f29cabc62ce3300f581e0f75c41ab309808abec4de331950e92a5d067cf1140fe539578c59c6601eb03c1eeb8835661301157d827d8bbd6f387ce589c644a79f30552ec377b2800d60927de7106acc36022afaf4fb177ade70f9cb138c894f3e60aa5d86ef65001ac124fbce20d5986c0455f5e2b754808a481bc1a3e5751dfc27373ab8a2efc005826437ac41ab30e808abebb56ea9011490378347caea3bf84e6e757145df800b04c86f58835661d01157d7639e778cf68697320c6236f77002bf6a8d4fe4bfe609ab1ec106acc3b022afaeb73cef19ed0d2e6418c46deee0057ed51a9fc97fcc13563d820d598760455f5d673b03bea78084f3ae553e5d3f70e029e003b8bf6826c6bb141ab30ed08abebab7372d081c673212d976df39fe47a2d36acb973ea04da7b63835661db1157d75572f7f9b06348c512fba20f37bf52826805b543d109b69ac806acc3b722afaea972024c0d9cf40cddc40a466775032ccab7ace39f136ed9910d59876f455f5d517016f0c8104a9c7354dab4c6e06481901b9c233b26df57231ab30edf8abebaa16c403a3cf6f7bb9e767b9185b7272b1ae37aa2734dc0524735661dc0157d75416492cd26c451f9f4b9bd4b0364ac7e307337a0e39b82488f6acc3b812afaea815537f2fa5f0676a14040bdfebfb7245b92b19dc43706351fd598770355f5d50136823ea1946f6ffa4d47a3f575cc70b1d1a597856e0e0e40ab30ee07abebaa016d047d4328dedff49a8f47eaeb98e163a34b2f0adc1c1c815661dc0f57d75402661b5333282042a101e4b7cdcd8feac1f2d8ba12b839dd03acc3b81fafaea8035848ff1326a307f9d08f9793917dfd7e91f3d02270755e08598770405f5d50053ca456d323a892ab6de5571f195a22f7d029fc41e0ec6011b30ee081bebaa009055b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110ab60ca63b67501d5121ac6c5224dbd4992ca90183b4c848cc3b8208faea8022156c194c76cea03aa24358d8a449b7a9325952030769909198770411f5d500442ad83298ed9d40754486b1b148936f5264b2a4060ed3212330ee0823ebaa008855b06531db3a80ea890d63629126dea4c965480c1da6424661dc1047d7540110377323108cd7848cdee0eebd18abe5443f0cec153b4e288dc3b82090aea8021f6ee6462119af0919bdc1dd7a3157ca887e19d82a769c511b877041215d50043e69dee4ef09c094eb4849e2ec590dbd0ba8760c51ed3a46380ee08243baa0087b5fd0228ae9e3ac8e5d59edd0a879a211fd2e74a0da7630711dc10488754010f54bb29dc2aa29dbd4877a039947516c1ea69f453eb4ee04e33b820911ea8021e9237794322ab63a60dbba2f2a85010037f980e67a69ddadc777041224d50043d146ef2864556c74c1b7745e550a02006ff301ccf4d3bb5b8eee082449aa0087a219f0a975813b6c3b3baee4a20a6228da9245f5e6a7785b1edc10489454010f4333e152eb0276d876775dc94414c451b5248bebcd4ef0b63db8209128a8021e8667c2a5d604edb0eceebb92882988a36a4917d79a9de16c7b7041225150043d0c5b97a458e03de491aa3d4d08496f6ecf3e720b323bc47cf7e08244a3a0087a174341a15e96de4bdb2140c208893d059929267261778a9df0c10489484010f42d12959b6a041f1a6e0f47ac0908d8332cfe8f40bfef16dfe2820912918021e859252b36d4083e34dc1e8f581211b06659fd1e817fde2dbfc5041225230043d0b24a566da8107c69b83d1eb0242360ccb3fa3d02ffbc5b7f8a08244a460087a16420bf33fcf75b5628470388403d1fc162a0bc61fc78b8a3151048948d010f42c7417e67f9eeb6ac508e0710807a3f82c54178c3f8f171462a2091291a021e858e0f0f28a0b3cfdb58e8d448f8eadd2d852f33e3eee2e4305541225235043d0b1b1e1e5141679fb6b1d1a891f1d5ba5b0a5e67c7ddc5c860aa8244a46a087a16363c3ca282cf3f6d63a35123e3ab74b614bccf8fbb8b90c155048948d410f42c6c048b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d709173b64e9c2bafe26d0df7e9a8f28484bc2f6e82e464d561225235243d0b1ae122e76c9d38575fc4da1befd351e50909785edd05c8c9aac244a46a487a1635c245ced93a70aebf89b437dfa6a3ca1212f0bdba0b919355848948d490f42c6b848b9db274e15d7f13686fbf4d47942425e17b74172326ab091291a921e858d701d860efb728e329a39d41fe19f50ac7f6871ca7fe4667962225235253d0b1adf3b0c1df6e51c653473a83fc33ea158fed0e394ffc8ccf2c444a46a4a7a1635be022a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f608aa526a826d3482d05a9df9ce8367e1382617f2466e262625235257d0b1adec1154a4d504da6905a0b53bf39d06cfc2704c2fe48cdc4c4c4a46a4afa1635bd822a949aa09b4d20b416a77e73a0d9f84e0985fc919b89898948d495f42c6b7b0455293541369a41682d4efce741b3f09c130bf9233713131291a92be858d6f6016b77f54fd35cae4d2700794de94a60e2ea3db2166e406635235257e0b1adebf2d6efea9fa6b95c9a4e00f29bd294c1c5d47b642cdc80cc6a46a4afc1635bd7e5addfd53f4d72b9349c01e537a529838ba8f6c859b90198d48d495f82c6b7afc41ce5354c010d9de6046649eeb03586c216135083721d71b91a92bf158d6f5f70faeff56568436748d52f135cc64d8d2ef04c60d6e455238235257e3b1adebed1f5dfeacad086ce91aa5e26b98c9b1a5de098c1adc8aa47046a4afc7635bd7da3ebbfd595a10d9d2354bc4d73193634bbc131835b91548e08d495f8ec6b7afb4098a535f8a84365c375db1a65984ee9224688c68722c35c21a92bf1e8d6f5f671314a6bf15086cb86ebb634cb309dd2448d118d0e4586b8435257e3d1adebece26294d7e2a10d970dd76c6996613ba4891a231a1c8b0d7086a4afc7a35bd7d9c4c529afc5421b2e1baed8d32cc277491234463439161ae10d495f8f46b7afb3824b78ea57ea5e87b42a1425d8ead111cf2cb228422c50022a92bf1e9d6f5f66f496f1d4afd4bd0f6854284bb1d5a2239e5964508458a00455257e3d3adebecde1ef09342d0fa24a4d74b316e31126c6e776ee60d8b15a48ba4afc7a85bd7d9bb3de12685a1f44949ae9662dc6224d8dceeddcc1b162b4917495f8f50b7afb37607d4a5b81a4b154b29f2edb0baa7d9b489fdf4332c58362f92bf1ea26f5f66eb0fa94b7034962a9653e5db61754fb36913fbe86658b06c5f257e3d44debecdd61f5296e0692c552ca7cbb6c2ea9f66d227f7d0ccb160d8be4afc7a89bd7d9bac3ea52dc0d258aa594f976d85d53ecda44fefa19962c1b17c95f8f5137afb3758095cb42e7b13d76a6bf50303a0dbc3434c219f2fc58506fa2bf1ea27f5f66eaf12b9685cf627aed4d7ea060741b7868698433e5f8b0a0df457e3d44febecdd5e2572d0b9ec4f5da9afd40c0e836f0d0d30867cbf16141be8afc7a89fd7d9babc4ae5a173d89ebb535fa8181d06de1a1a610cf97e2c2837d15f8f513fafb3757821dd9b94879ff95e8c165832041a5c2f6e5c4ef9585213a3bf1ea2805f66eaef43bb37290f3ff2bd182cb0640834b85edcb89df2b0a427477e3d4500becdd5de1388c6fef4e26831fd1f88c006c798b865b397e26149f28ffc7a8a027d9babbb27118dfde9c4d063fa3f11800d8f3170cb672fc4c293e51ff8f51404fb3757764e231bfbd389a0c7f47e23001b1e62e196ce5f898527ca3ff1ea2809f66eaeec285890a47d75c447b5c26df82c9aedbdd9df1b100a513880e3d45014ecdd5dd750b12148faeb888f6b84dbf05935db7bb3be362014a27101c7a8a029d9babbae2d749b3ecc3993d6a3cfdfd8a8c9def213bec83d294686048f514054b375775b5ae9367d987327ad479fbfb15193bde4277d907a528d0c091ea280a966eaeeb641e4c5a80748d2125c05a75a9985a3c2fb3d7cf1a51bbc133d450153cdd5dd6b0fdbe3fce4f426dc84d176ad29696f80a2bd55e04a391c277a8a02a89babbad51fb7c7f9c9e84db909a2ed5a52d2df01457aabc09472384ef5140551375775aa3f6f8ff393d09b721345dab4a5a5be028af5578128e4709dea280aa26eaeeb540af17893fe03b99bf351dd6141a9a3ffc22d0aff51ca853cd4501545dd5dd6a715e2f127fc077337e6a3bac2835347ff845a15fea3950a79a8a02a8bbabbad4e2bc5e24ff80ee66fcd47758506a68fff08b42bfd472a14f35140551775775a9c578bc49ff01dccdf9a8eeb0a0d4d1ffe116857fa8e5429e6a280aa2eeaeeb5383b29e1ecb69e1c7701e3fe0c10f867f6cf130bf21ca9f7ce4501545ed5dd6a6f02661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba099872190e7aee9742389040613bdfa129a1cf84e5564e76280aa2faaeeb53741330e4321cf5dd2e84712080c277bf4253439f09caac9cec501545f55dd6a6e82661c86439ebba5d08e2410184ef7e84a6873e13955939d8a02a8beabbad4dd04cc390c873d774ba11c4820309defd094d0e7c272ab273b1405517d5775a9ba025997a3dbe116c2bf04f2bfe0a1c220d465f544b55668b6380aa2fabeeb5373f4b32f47b7c22d857e09e57fc1438441a8cbea896aacd16c701545f57dd6a6e7e227841a3cea833678e02d7f01eceb02fc5bfad2a559bd18f02a8beb0bad4dcfb44f083479d5066cf1c05afe03d9d605f8b7f5a54ab37a31e05517d6175a9b9f615f35f3c1103505604d187b87198e8b9c34110a65670ea3d0aa2fac3eb5373eb2be6be782206a0ac09a30f70e331d1738682214cace1d47a1545f587d6a6e7d657cd7cf0440d415813461ee1c663a2e70d04429959c3a8f42a8beb0fad4dcfac3bad528d5e7d0567f35265bb83256dc8c64ae12fb388f5e95517d6205a9b9f57036cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a0db3f71e4d72361ecdabcdbbf2a40e30e36079719c4e3f4ea8beb106d4dcfab41b67ee3c9ae46c3d9b579b77e5481c61c6c0f2e3389c7e9d517d620da9b9f56836cfdc7935c8d87b36af36efca9038c38d81e5c67138fd3aa2fac41b5373ead06d9fb8f26b91b0f66d5e6ddf952071871b03cb8ce271fa7545f58836a6e7d5a06751ca91ad85e4a4a78303b7209f0b08e249f316c4e598eb8beb106e4dcfab3f5ab5edd0316e4c011bcc2f66379c3e0c70d6422a89ccd5d817d620dd9b9f567d417e344d393f1aba045e86c46596a4138deee052139b4fb12fac41bc373eacf90f0ec14748e0b82bd5833580c18b7021c8201ca1273843635f5883796e7d59f11e1d828e91c17057ab066b018316e043904039424e7086c6beb106f2dcfab3e23c3b051d2382e0af560cd603062dc087208072849ce10d8d7d620de5b9f567c4048862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf870910c5ce3ad0882cf1bfa7fc05735211da86820c73877e37f5883798e7d59f0e12218b9c75a11059e37f4ff80ae6a423b50d0418e70efc6feb106f31cfab3e1c24431738eb4220b3c6fe9ff015cd48476a1a0831ce1df8dfd620de639f567c3848862e71d68441678dfd3fe02b9a908ed43410639c3bf1bfac41bcc73eacf8701d1eb590836b0586e8c0a7b84d93491854aa7cc4387987805883798f7d59f0df3a3d6b2106d60b0dd1814f709b269230a954f98870f30f00b106f31efab3e1be008d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd808d2eeee40e98d36fc8c6d92cab4c5bfeec4f0de1e7c202620de63ef567c37b011a5dddc81d31a6df918db2595698b7fdd89e1bc3cf8404c41bcc7deacf86f60234bbbb903a634dbf231b64b2ad316ffbb13c37879f0809883798fbd59f0dec046977772074c69b7e4636c9655a62dff762786f0f3e1013106f31f7ab3e1bd8019414790e4fb5627958d0124a1aa83f9989169dee7c3a6630de63ef667c37aff32828f21c9f6ac4f2b1a0249435507f33122d3bdcf874cc61bcc7deccf86f5fe65051e4393ed589e5634049286aa0fe66245a77b9f0e998c3798fbd99f0debfc561c9533fe3d33f4792e311d03b247c770cdaaf43e1ed7196f31f7b43e1bd7f7384b8314d2dceaa0bf228a31fdc2b7898dddb1e57c3f5233de63ef697c37afed70970629a5b9d5417e451463fb856f131bbb63caf87ea467bcc7ded2f86f5fda6d40650021d62d3ac95050bfed690620e3b92392f0feecd0798fbda6f0debfb3669322ad1a0edd2d5f66c977d130343c73b4a322e1ff7da1f31f7b4ee1bd7f6559389e070a803d128b93bae798be907393aba242c4009f44e63ef69ec37afec93e8394baeb62fcdce3ed9dc727db48e1d399a0828802e28acc7ded3e86f5fd9109198222ad287c7194a163864614b9be53759d021007691698fbda7e0debfb21123304455a50f8e32942c70c8c29737ca6eb3a04200ed22d31f7b4fc1bd7f6422466088ab4a1f1c652858e191852e6f94dd67408401da45a63ef69f837afec8448cc11156943e38ca50b1c3230a5cdf29bace810803b48b4c7ded3f06f5fd9081daa7ad7a8ea49d116dc605c57a9c3dfe39c2c1e0078356a8fbda7e1debfb20f3b54f5af51d493a22db8c0b8af5387bfc738583c00f06ad51f7b4fc3bd7f641e02bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd90760af1102de82ea7f0a0dea5a55414dde8eacc31d40789e6acfbda7e21ebfb20ec15e2205bd05d4fe141bd4b4aa829bbd1d59863a80f13cd59f7b4fc43d7f641d82bc440b7a0ba9fc2837a9695505377a3ab30c7501e279ab3ef69f887afec83b05788816f41753f8506f52d2aa0a6ef4756618ea03c4f3567ded3f10f5fd907603b235b8b594d01c1dab0824d37ac06895905793d78a00ed0bda7e21fbfb20ebf02590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa09643f0e23f218ee089cb24996d8d435793539dfc5070689ed3f1101fd9075f412c87e1c47e431dc113964932db1a86af26a73bf8a0e0d13da7e2203fb20ebe82590fc388fc863b82272c9265b6350d5e4d4e77f141c1a27b4fc4407f641d7d04b21f8711f90c77044e5924cb6c6a1abc9a9cefe2838344f69f8880fec83afa02256498f1584119856914c9163eb6b523f95f9f950720c9fd3f11020d9075f3f44ac931e2b082330ad229922c7d6d6a47f2bf3f2a0e4193fa7e22041b20ebe7e156b7ee92c72c919270b5a3d860bd543aa9a43e241c9d6804fc44084641d7cfb2ad6fdd258e592324e16b47b0c17aa87553487c48393ad009f888108c83af9f655adfba4b1cb24649c2d68f6182f550eaa690f8907275a013f1102119075f3ec376e4ff639f8cb810520f9e426bcd21801147b0f0e5058037e22042420ebe7d76edc9fec73f197020a41f3c84d79a4300228f61e1ca0b006fc44084841d7cfae69cb9885be45b0bbe14a0f889151705ab09448393943040ef888109183af9f5b5fa989b852ede42f8f5a4709190108b00d6aec6f7287ac1ef1102124075f3eb54b656c1d7c3e4b16eb7ab60a2860395ac71834dbe510fc3ee22042490ebe7d6922dd30e7cedf18e5a3bb940c471e9ab03a72c5b4ca239c7ec44084931d7cfad145ba61cf9dbe31cb477728188e3d356074e58b69944738fd888109263af9f5a217871c4c11dee64e5bb4782912d892bb960d72d0289015fc1102124d75f3eb432f0e389823bdcc9cb768f05225b125772c1ae5a051202bf82204249aebe7d6865e1c7130477b99396ed1e0a44b624aee5835cb40a24057f044084935d7cfad0c484b3b0d6559b52aaa69e9408d22bdd75cadf27e448253e18810926caf9f5a171ca8cec7a115ed0d2199fa7910a3a3a9659e40f989064bc4102124da5f3eb42d39519d8f422bda1a4333f4f221474752cb3c81f3120c9788204249b4be7d685a72a33b1e8457b4348667e9e4428e8ea5967903e624192f10408493697cfad0b47158cee9df11eb20d995fbc07b7b4545d93463c948340221810926d3f9f5a1676ec3f680948658f97ff21f78ed54b2865eab238f9069a84402124da8f3eb42cd699a45adff6f34aaccaa66e9d1078d076998a31c20d4f48904249b52e7d685995f46e408d540ec0d661af5cb986d42097f73a23541ab8d13084936a6cfad0b314aa020be80e45ad298fc138f2738ac0dab29a0678358be2710926d4e9f5a166121529a29d82b385cfebe4f1644cf801602959ccc06b3204f2124da9e3eb42cc142a53453b05670b9fd7c9e2c899f002c052b39980d66409e4249b53c7d685982115cc154370f642bc7bf6451099c2852b698cf2d1ace253d84936a79fad0b30322b982a86e1ec8578f7ec8a2133850a56d319e5a359c4a7b0926d4f3f5a1660645730550dc3d90af1efd91442670a14ada633cb46b3894f6124da9e7eb42cc0c16f8634e8edda4160ac14a80433f6a906108d565d672cded249b53d0d68598172df0c69d1dbb482c15829500867ed520c211aacbace59bda4936a7a1ad0b302e5be18d3a3b7690582b052a010cfdaa418423559759cb37b4926d4f435a16605c43d573214d4fa36822d07bfa10597c7db489072bb398136a24da9e87b42cc0b713bd3eef7101c98812671fec171120f615546a546731cad549b53d106859816d277a7ddee203931024ce3fd82e2241ec2aa8d4a8ce6395aa936a7a20d0b302da4ef4fbbdc4072620499c7fb05c4483d85551a9519cc72b5526d4f441a16605b429fc50285e70cef85fff2758aee72fab56e5aea0398ffaab4da9e88442cc0b6753f8a050bce19df0bffe4eb15dce5f56adcb5d40731ff5569b53d108859816ce3403994e5025be994cc2c55ab1fae6a807d9167de6418eae36a7a2120b302d9b6807329ca04b7d3299858ab563f5cd500fb22cfbcc831d5c6d4f442416605b365c20bde616f97d1cffd13d62be49c29acba6b5f49907deb9da9e88492cc0b66b4453d47904557cf1cc68a2bd72f1ad30438fc7e632116174b53d109359816cd514ba019edf0d7c9b65976d72dc41825b3361ebc9642466ea6a7a2127b302d9a92974033dbe1af936cb2edae5b88304b666c3d792c848cdd4d4f4424f6605b35252e8067b7c35f26d965db5cb7106096ccd87af2590919ba9a9e8849ecc0b66a431e265a3cece6792f981938ed86a3ad44751ba482124db5453d1093e9816cd4763c4cb479d9ccf25f303271db0d475a88ea374904249b6a8a7a2127d302d9a8e539bef3c119c2103b2cc76335807134bc989451d849511524f4424fb605b351b334a3724f99ac4bf325f145ea66c4e923f54e638092bc6a59e8849f7c0b66a3566946e49f335897e64be28bd4cd89d247ea9cc7012578d4b3d1093ef816cd46a593b3540bccd95b496427972900f6243a995f4dd24b0be977a2127e002d9a8d33e88c32e4ffdae20f94b1add167cec81ff6e45b74963212ff4424fc105b351a50923df09765ddef9bf5c5db2235800feab1ee76b92c7e660e8849f830b66a3491247be12ecbbbdf37eb8bb6446b001fd563dced7258fccc1d1093f0616cd4692248f7c25d9777be6fd7176c88d6003faac7b9dae4b1f9983a2127e0c2d9a8d24491ef84bb2eef7cdfae2ed911ac007f558f73b5c963f33074424fc185b351a481e5049443c407253c28c031a2bde37e55e30d2b62c800a0f8849f831b66a348f3ca092887880e4a78518063457bc6fcabc61a56c5900141f1093f0636cd4691e05537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b0aa6fb7b8ec8980dadec68c14bae0f204a0b4dab6403987e424fc18fb351a476154df6f71d91301b5bd8d182975c1e4094169b56c80730fc849f831f66a348ec2a9bedee3b226036b7b1a3052eb83c81282d36ad900e61f9093f063ecd4691d85537dbdc7644c06d6f63460a5d707902505a6d5b201cc3f2127e0c7d9a8d23b036821065c2ec0392ab8cb40cb13f19ff4cf736b3403b2be524fc18fc351a475f6d0420cb85d8072557196819627e33fe99ee6d66807657ca49f831f86a348ebe661a9a43e21291027af8f82abb5a8ff7e01f36ca00ee539593f063f1d4691d7b58478d349a87a4bcc2b8184d6d1347ea6c80c99101de4b2c27e0c7e4a8d23af53ca173160b71cc3152365892d084b7cf8543ef1f03be3a594fc18fca51a475e905553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd10aaa7db1da8c3634e265b23b2ecf2f336d9474760efc31673f063f2b4691d7a21554fb63b5186c69c4cb64765d9e5e66db28e8ec1df862ce7e0c7e568d23af442aa9f6c76a30d8d38996c8ecbb3cbccdb651d1d83bf0c59cfc18fcad1a475e885553ed8ed461b1a7132d91d97679799b6ca3a3b077e18b39f831f95a348ebd1036ba33ca7f25e605f3214baae3511b318589a35defc4ba74f063f2b5691d7a1f6d746794fe4bcc0be6429755c6a236630b1346bbdf8974e9e0c7e56ad23af43e66fb27d6d2fa1acf994b56a383a294c0c268e974bf148dd4c18fcad6a475e87b5a08a85a7c56b856ff5cd53efda3517c31142ee67e2abfaa831f95ae48ebd0f54023a961cf0ff365cb7fd275f1a4caf30e6ab9c9fc572356063f2b5d91d7a1e90c59ab707482698363c5cce3d9a7bde0c917cf90f8afeaad0c7e56bc23af43d118b356e0e904d306c78b99c7b34f7bc1922f9f21f15fd55a18fcad78475e87a23166adc1d209a60d8f17338f669ef783245f3e43e2bfaab431f95af08ebd0f4462cd5b83a4134c1b1e2e671ecd3def0648be7c87c57f556863f2b5e11d7a1e8851ad0fb41e891aee0922f63590da06073dbf550c8b004ed1c7e56bc33af43d0f2f6c78151374b893df0c14631812340927c10616160241a48fcad78775e87a1d5ed8f02a26e97127be1828c6302468124f820c2c2c0483491f95af0eebd0f43a49c439012435650748f6798456a6f81f4b467455580aaa933f2b5e1ed7a1e8731f9acaaf1ecd4cc65eb31b00a3ac183942cf44a7b016f9277e56bc3eaf43d0e53f35955e3d9a998cbd66360147583072859e894f602df24efcad787d5e87a1ca0a7d83695197b5d1479293fa850e88dfb77f6e9bc05d889ef95af0fbbd0f439314fb06d2a32f6ba28f2527f50a1d11bf6efedd3780bb113df2b5e1f77a1e872629f60da5465ed7451e4a4fea143a237eddfdba6f0176227be56bc3eef43d0e4c53ec1b4a8cbdae8a3c949fd4287446fdbbfb74de02ec44f7cad787dde87a1c9833ea8f41efdddfcc45ef67a04746b5f6243945b905da2df095af0fbcd0f4392f67d51e83dfbbbf988bdecf408e8d6bec48728b720bb45be12b5e1f79a1e8725e5bbc95b495da01e8e483c6791378ffd33d2772e1176a5bc356bc3ef443d0e4bb438b84160216868995cdb4ea1d5027a1269141bf2ed65b87ad787de987a1c975132960d8da8f8fcaf86191cc30fe773cf964df7b5dae5b105af0fbd40f4392e92652c1b1b51f1f95f0c3239861fcee79f2c9bef6bb5cb620b5e1f7a81e8725d24ca583636a3e3f2be1864730c3f9dcf3e5937ded76b96c416bc3ef503d0e4ba4255d5f73aadf010f8fd2b6597e51e1e2776957d7ed747c83d787dea17a1c97474ababee755be021f1fa56cb2fca3c3c4eed2afafdae8f907af0fbd42f4392e8e2187d67b81de86f60c11015defa5af8489e7bb5cb5d396105e1f7a86e8725d1b430facf703bd0dec182202bbdf4b5f0913cf76b96ba72c20bc3ef50dd0e4ba361231b29adddc9e8ffd0a2d6fb4f4e60cd3e1496fd74ffc42787dea1ca1c9746b24636535bbb93d1ffa145adf69e9cc19a7c292dfae9ff884f0fbd4394392e8d648c6ca6b77727a3ff428b5bed3d398334f8525bf5d3ff109e1f7a8728725d1ac1d9fed83c5477737b51793759e0558614b4ca77bba818614c3ef50e60e4ba3573b3fdb078a8eee6f6a2f26eb3c0ab0c296994ef775030c2987dea1cc1c9746ae02920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60a483aefae017e5a8491d739b9ce25ff65d3e7afa81ef1503ef50e64e4ba356c149075df5c02fcb50923ae73739c4bfecba7cf5f503de2a07dea1cc9c9746ad82920ebbeb805f96a12475ce6e73897fd974f9ebea07bc540fbd4399392e8d5b05241d77d700bf2d4248eb9cdce712ffb2e9f3d7d40f78a81f7a8732725d1ab60309607a7b67a686015e39b93934087f10980d6f781f0b904ef50e64f4ba356bf612c0f4f6cf4d0c02bc7372726810fe21301adef03e17209dea1cc9e9746ad7e4e6a774bb04c243824549646436047bed245b7db07c48814bd43993e2e8d5afb28e7474436facb28156f54847d1eb77850cdcbb30f8ab42a7a87327d5d1ab5f551ce8e886df596502adea908fa3d6ef0a19b97661f156854f50e64faba356bea2faf75bdb24daf5822837a09ead905dbef798ac93e2c74aaea1cc9f6746ad7d35f5eeb7b649b5eb04506f413d5b20bb7def315927c58e955d43993ece8d5afa64ad02fa39f99401856d4101fa1c23f6a6a288721f8b376aca87327dad1ab5f4b21b2b7f4159502e87a6e483739e2a6cf80936a40f168915a50e64fb6a356be9543656fe82b2a05d0f4dc906e73c54d9f0126d481e2d122b4a1cc9f6d46ad7d2a12dd387d2cb68e59b67f48d4dde8c338ae900500c5a3e96a43993edb8d5afa5325ba70fa596d1cb36cfe91a9bbd186715d200a018b47d2d487327db71ab5f4a64b74e1f4b2da3966d9fd235377a30ce2ba401403168fa5a90e64fb6e356be94c22fc1c963c16f58580c06e9ee5a441c020c284032d20ef531cc9f6dd6ad7d29745f8392c782deb0b0180dd3dcb488380418508065a41dea63993edbad5afa52e1802cb05c6be58cdcfc7e2738cef2efb2f4c6c09b485614d7327db76ab5f4a5b3005960b8d7cb19b9f8fc4e719de5df65e98d813690ac29ae64fb6ed56be94b6600b2c171af963373f1f89ce33bcbbecbd31b026d2158535cc9f6ddaad7d296c4c28b0db0c5549264b053b945dd79fd426a5bc4aa42cae6c993edbb65afa52d72463ba62ef0d150462d09f20b20d67a2f98dd492485b00da327db76db5f4a5ad48c774c5de1a2a08c5a13e41641acf45f31ba92490b601b464fb6edb6be94b5a1da142389296d6c95808a47abe93c6869279ae46216da769c9f6ddb7d7d296b33b428471252dad92b01148f57d278d0d24f35c8c42db4ed393edbb6fafa52d660297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b5960a5d863c82f77774b3a2e78bc2b50853d8a4545616e106a09f6ddb817d296b2c14bb0c7905eeeee96745cf17856a10a7b148a8ac2dc20d413edbb702fa52d658297618f20bddddd2ce8b9e2f0ad4214f629151585b841a827db76e05f4a5acb052ec31e417bbbba59d173c5e15a8429ec522a2b0b7083504fb6edc0be94b596031eabc7505d9fa0306f4a0b421aead383687a15e6e120e0af6ddb818d296b2bf63d578ea0bb3f4060de94168435d5a706d0f42bcdc241c15edbb7031a52d657e53bd4a80edca6ac3e898aac87d18dcdb8660e176b849dc2cdb76e0644a5acafb338cedaeb1f7583f9df77d88f08fe1b1b9041eea70955c5ab6edc0c994b595f56719db5d63eeb07f3beefb11e11fc36372083dd4e12ab8b56ddb8193296b2bea5a460f679e3fe3b644a41e1bb89daec19052d7a6c257156bdbb7032752d657d3409e777c12e24a24560e642f6799857dcce80b4a84afced8b76e064fa5acafa50d4f47a4fc27170078e2f056c59132f646127292096141b26edc0ca04b595f491a9e8f49f84e2e00f1c5e0ad8b2265ec8c24e52412c28364ddb8194096b2be92353d1e93f09c5c01e38bc15b1644cbd91849ca48258506c9bb7032812d657d246a7a3d27e138b803c71782b62c8997b2309394904b0a0d9376e065025acafa486106d2fc98d3f2bf5af52d644f71575f0d69851d9615bf27edc0ca05b595f48f4e1ffea6080a683682b082c09540d6b8c71566382c2d2250db81940c6b2be91d285255f8e6775324d2272d7920dfd56c3a6d286d585be8a2b7032819d657d23950a4abf1cceea649a44e5af241bfaad874da50dab0b7d1456e065033acafa4722d5bb090703fcf4b1562dddc79dd7dab95f6fdb26171468bdc0ca068595f48e35ab76120e07f9e962ac5bbb8f3bafb572bedfb64c2e28d17b81940d0b2be91c641811aee9761bfe422519f69ddd41ea9041e52c685c6be30703281a2657d238b0f148e8a05260280116966cbb206654cb47f018a0b8f2061e0650345cafa47151e291d140a4c050022d2cd97640cca9968fe0314171e40c3c0ca068b95f48e2a3c523a2814980a0045a59b2ec8199532d1fc06282e3c818781940d172be91c5404b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7096d99f9ff252d70b022bcab0d22a4c0a074d09ab8f54e200650345eafa4714e12db33f3fe4a5ae1604579561a45498140e9a13571ea9c400ca068bd5f48e29c25b667e7fc94b5c2c08af2ac348a930281d3426ae3d538801940d17abe91c5384b6ccfcff9296b858115e5586915260503a684d5c7aa71003281a2f57d238a7022ebf84cc8b559c2cef1f2a8c8887404b38f65a88f568601650345ebfa4714df45d7f099916ab3859de3e5519110e809671ecb511ead0c02ca068bd7f48e29be17c239dff937e9c3088df29b187ff80d7a7ff29f3d5bbc06940d17b0e91c537b2f8473bff26fd386111be53630fff01af4ffe53e7ab7780d281a2f61d238a6f65f08e77fe4dfa70c2237ca6c61ffe035e9ffca7cf56ef01a50345ec3a4714dec4a2427aca021d0d01135bcd0ba5de8668041f0f6eadf8435a068bd8848e29bd7205aa80616a62457ef31a1996b19f8c7acc63dead5c0ac6c40d17b1191c537ad40b5500c2d4c48afde634332d633f18f598c7bd5ab8158d881a2f623238a6f5a0d7cf8c530fb1417898cae5da2c60b195f5b53a8570455b20345ec474714deb31af9f18a61f6282f13195cbb458c1632beb6a750ae08ab64068bd88e8e29bd6635f3e314c3ec505e2632b9768b182c657d6d4ea15c1156c80d17b11d1c537acc6be7c62987d8a0bc4c6572ed163058cafada9d42b822ad901a2f623a38a6f59863e1e4ffe613c43065910dd222bed990a1f796827046ff21345ec475714deb2f53d622aca28a0b1897e8439c3bdbdb1bf0318901e08fa24368bd88ebe29bd65d33be9e061b7698e8fc96af306e15de328ca56e00c120e887d17b11d8c537acb9677d3c0c36ed31d1f92d5e60dc2bbc65194adc018241d10fa2f623b18a6f59725b0cd0c5443ce65bbf20e4b9aeb5a0c4ded814000485462045ec476414deb2e3422bfa375edc4f6f4b07f16b53c9698469f283fd090c30418bd88ec929bd65c5106a4d1b941b219662d60ace9df0fb03802763f7121a048417b11d93537acb8920d49a372836432cc5ac159d3be1f607004ec7ee243409082f623b26a6f5971241a9346e506c86598b582b3a77c3ec0e009d8fdc486812105ec4764d4deb2e240f64c189773b8f6ae3767e6ce5e60016ad7d7bb590d1c821bd88ec9b9bd65c471ec98312ee771ed5c6ecfcd9cbcc002d5afaf76b21a390437b11d93737acb88e3d930625dcee3dab8dd9f9b39798005ab5f5eed643472086f623b26e6f59711c073864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370e70c9f1207dfc1dd0f436be4b1c5160305c73530d1fca1dd88ec9bbbd65c46e1ce193e240fbf83ba1e86d7c9638a2c060b8e6a61a3f943bb11d93777acb88dc39c327c481f7f07743d0daf92c714580c171cd4c347f2877623b26eef59711b873864f8903efe0ee87a1b5f258e28b0182e39a9868fe50eec4764dddeb2e2370731ef7bede424494dc0993dca8233dfdb209912dd1fe45de88ec9bbcd65c46df7250482a92e70be184d94fb146a4a3f610557e58a3fe2fbe11d9377aacb88dbd70b2e901fc309a7ad678c75a83a76fe6cced58ae47fe037d23b26ef659711b796d782ab0cec3b7ad79b7b6acfdad07c8461d0d598ffdaafb4764ddedb2e236f16702ae0e73e9f212c0359551f1b8378b387c76b01ffcf9f78ec9bbdc65c46de15a17b4c9be3666dd4d31529bd9ce97111d3b495d3ffb97f01d9377b9cb88dbc14041c24052cf50726728cd2fa9fb561ce6b8eeb77ff8d3e13b26ef749711b7810c95dd2d7c01239c9b17c2574a54d43479b4396bfff34bc3764ddeea2e236f01192bba5af8024739362f84ae94a9a868f36872d7ffe69786ec9bbdd45c46de02325774b5f0048e726c5f095d295350d1e6d0e5afffcd2f0dd9377ba8b88dbc0464aee96be0091ce4d8be12ba52a6a1a3cda1cb5fff9a5e1bb26ef751711b780855702b849674bc817e424d6c9bab6b424785f2bcff36603864ddeea3e236f00f36f2afb6034bfbbac94ac2d12db4fe7f3b4e4176fe6e6471c9bbdd48c46de01d6de55f6c0697f775929585a25b69fcfe769c82edfcdcc8e39377ba9188dbc03a67dd1784e39271a2f1f1333cad3221f7997b61d8f9bb35c826ef752411b780735bcc87b69d8765fdb0a88e7150c26be9df391faef3780f914ddeea49236f00e543ab681a11714eb32e1744da97e2ffce6ab49b5ae6f1c3239bbdd49346de01c9136928e0f945201e28f4b1ad2624279781ab92b2cde52a48377ba9278dbc039126d251c1f28a403c51e9635a4c484f2f035725659bca54906ef7524f1b7807224da4a383e5148078a3d2c6b498909e5e06ae4acb3794a920ddeea49e36f00e44275b9fb4a08b83a9146bb561277f64b6b99ef1936f2af642bbdd493d6de01c874eb73f694117075228d76ac24efec96d733de326de55ec8577ba927adbc0390e2980d77f5890915c1e74fd7c945bbad592be224abcad7d0bef7524f6b780721b5301aefeb12122b83ce9faf928b775ab257c4495795afa17deea49ed6f00e4363215b6aa38a4c828469a1dea47cd1350f73ae527f2b79830bdd493dbde01c86b642b6d54714990508d343bd48f9a26a1ee75ca4fe56f30617ba927b7bc0390d654693355b8f5a358e72e9fa11592753e892df09ccae004c3f7524f70780721ab34e4bf58484dc9699b23673a21831277be9e3d3695c1ad88eea49ee1f00e435569c97eb0909b92d33646ce74430624ef7d3c7a6d2b835b11dd493dc3e01c86aa5fa5560df799a85e3953c4e07c6a71d9a6bb50d757085a24ba927b88c0390d534b5d04c8c595d3743f6db1b8ef330badf9b8fdabae12584a7524f71280721aa522cc623e618e29a04ba18b69d4c43f569fb457545c265495ea49ee2600e435494598c47cc31c5340974316d3a9887ead3f68aea8b84ca92bd493dc4c01c86a921743e1a65c9b2938fb4c559f496f25552b13b94e709af658a927b8990390d5232e87c34cb9365271f698ab3e92de4aaa5627729ce135ecb1524f71320721aa465d0f8699726ca4e3ed31567d25bc9554ac4ee539c26bd962a49ee2640e43548c463165dfbb3bcc7fa728d4f241d752a404e0267084d956c6493dc4c91c86a9171875246c4cda1bb71b17d1dc7a0ccd42b602a8de09b4518d927b8993390d522d30ea48d899b4376e362fa3b8f4199a856c0551bc1368a31b24f71326721aa45a61d491b133686edc6c5f4771e833350ad80aa37826d1463649ee264ce43548b44fbb7c0f3d336070a584b6dbc6c492105c57a2ed4da4306d93dc4c9ac86a91672b8950cb50c9439917cf95af83e74c1b64f1a1d79b4a04dc27b8993690d522cd5712a196a19287322f9f2b5f07ce9836c9e343af369409b84f71326d21aa459a3a379bda1987911c2c047eb605fb58684008e35b6d29b7719ee264db43548b33008190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32808190610971a4f024cf25640254d8cb2c5422b3da5512e43dc4c9b786a91665010320c212e349e0499e4ac804a9b19658a84567b4aa25c87b89936f0d522cca0206418425c693c0933c95900953632cb1508acf69544b90f71326de1aa45994040c83084b8d278126792b2012a6c65962a1159ed2a89721ee264dbc3548b32800da2b9b6480772dc9beb8bfa4b36f32700650fd75514883ec4c9b787a91664ff1b45736c900ee5b937d717f4966de64e00ca1faeaa29107d89936f0f522cc9fe368ae6d9201dcb726fae2fe92cdbcc9c01943f5d545220fb1326de1ea45993fc6d15cdb2403b96e4df5c5fd259b7993803287ebaa8a441f6264dbc3d48b327f8663df41156d9b0818b7ee79ca9cd5a6ab2935972514a27ed4c9b787b91664fef588e40cf8415e3bae3c3f73149f8dcd011690ee1a295f3db9936f0f822cc9fdd3d2eda4bde8e4a2d944e165a8a4fe19acf1479c0452d8bb8326de1f145993fb906700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f710ce01a8926fe2e25eac4a95a15fbd66094d69efb14b976e2c9b787c71664fee219c035124dfc5c4bd58952b42bf7acc129ad3df62972edc5936f0f8e2cc9fdc433806a249bf8b897ab12a56857ef5982535a7bec52e5db8b26de1f1c5993fb886700d44937f1712f56254ad0afdeb304a6b4f7d8a5cbb7164dbc3e38b327f7105a14013f464565167910bd99561b8e03f9ac4bae4b99122d9b787c72664fee1f403a5b2b62ed4ce4bee7a32aa29544029f9af3599733c85c36f0f8e5cc9fdc3d0c870f039c3d1c814a956e4d3b88afffeb7842b02e6934b96de1f1cc993fb879190e1e07387a3902952adc9a77115fffd6f085605cd26972dbc3e399327f70f2321c3c0e70f472052a55b934ee22bfffade10ac0b9a4d2e5b787c73264fee1e46438781ce1e8e40a54ab7269dc457fff5bc215817349a5cb6f0f8e64c9fdc3c8548348e69a344acc761d0ccbaee927f963c686ffe694ef97de1f1cca93fb878f3518ea7a0acb1850b900418f543077ed73cf69fccd2b8330bc3e399627f70f1d6a31d4f4159630a17200831ea860efdae79ed3f99a570661787c732c4fee1e3a60760295018ee3fab0c72e35472007b07b8003f034afb0c3f0f8e6599fdc3c734cfe5dd6d9804aad2e548462849e375ba34263dd69610588e1f1ccb43fb878e5260f145a89631812296f30bcff9a96b1f2c723b7d2c3af12c3e399697f70f1c94c1e28b512c6302452de6179ff352d63e58e476fa5875e2587c732d2fee1e392244eaa16fbeee3007282eaebf4c882c2775eeadc4b10604c0f8e65a6fdc3c723489d542df7ddc600e505d5d7e9910584eebdd5b89620c0981f1ccb4dfb878e461d4d0108c61e0eb996d1d3a7c980330489be076e2c4325313e39969cf70f1c8b3a9a02118c3c1d732da3a74f93006609137c0edc58864a627c732d39ee1e391601465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac0a32e67f76d5ecf1406bb4b8e2f7a06699d3cdad8871c62fc732d3a6e1e391581465ccfeedabd9e280d76971c5ef40cd33a79b5b10e38c5f8e65a74dc3c722b028cb99fddb57b3c501aed2e38bde819a674f36b621c718bf1ccb4e9b878e4560519733fbb6af678a035da5c717bd0334ce9e6d6c438e317e39969d370f1c8ac02f40c0a443c151cbd381738625d82e64497f36d5871e06fd732d3a6f1e39157f5e8181488782a397a702e70c4bb05cc892fe6dab0e3c0dfae65a74de3c722afe49155b3de567c9e71acbf6108dbee18bd23f37531c79bff6ccb4e9bd78e455fb1e3d0f28a1321686025e141911dbeb1250c0caa338f523ee9969d37bf1c8abf53c7a1e5142642d0c04bc283223b7d624a181954671ea47dd32d3a6f7e39157ea0506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd30a0d2a9eb655b99fac7cf0b87b9ba887de8b0d13c7ac6776cb4e9be18e455fa6141a553d6cab733f58f9e170f737510fbd161a278f58ceed969d37c31c8abf4c2834aa7ad956e67eb1f3c2e1ee6ea21f7a2c344f1eb19ddb2d3a6f8639157e98506954f5b2adccfd63e785c3dcdd443ef458689e3d633bb65a74df0c722afd302ce502983bbe1cb29495337fb018b07894f32d397ac81b6db4e9be19e455fa5f59ca0530777c3965292a66ff603160f129e65a72f59036db69d37c33c8abf4be3fa6630dc55af5821f1af5f6b6c0e9dd000f10e2eb2211b7d3a6f8689157e97b0b5f1ec861186dbc0afc13e563dffbb4ac607dc2d645c770a74df0d222afd2f516be3d90c230db7815f827cac7bff76958c0fb85ac8b8ee14e9be1a4455fa5ea2d7c7b218461b6f02bf04f958f7feed2b181f70b59171dc29d37c3488abf4bd45af8f64308c36de057e09f2b1effdda56303ee16b22e3b853a6f8691157e97a842044532e7e95e787c87664e345de345724a382a645e1b0b74df0d232afd2f4f101ae312a6353fa8c5d4f4945f19ee8590d6cc51c8bdda17e9be1a4755fa5e9d2035c6254c6a7f518ba9e928be33dd0b21ad98a3917bb42fd37c348eabf4bd3a406b8c4a98d4fea31753d2517c67ba16435b314722f7685fa6f8691d57e97a740ce97142080c7ffdfb6dcc9aef2d9c2732f8be8b45f074c04df0d23bafd2f4e719d2e2841018fffbf6db9935de5b384e65f17d168be0e9809be1a4775fa5e9ce33a5c5082031fff7edb7326bbcb6709ccbe2fa2d17c1d30137c348eebf4bd39c674b8a104063ffefdb6e64d7796ce13997c5f45a2f83a6026f8691dd7e97a7385aa96ccd572a829783a2f1a6e937ea6ddbce44b15f08f005df0d23bbfd2f4e6f4165324784b787e6d40c0b45c8cdfcd663dee55fbe13840cbe1a4778fa5e9cdd0edcbd3bdfd1928574de3e8387fa21a7740026bc7c28ac1a7c348ef2f4bd39b91db97a77bfa3250ae9bc7d070ff4434ee8004d78f8515834f8691de5e97a73723b72f4ef7f464a15d378fa0e1fe8869dd0009af1f0a2b069f0d23bcbd2f4e6e402f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e0be10a2f53bc5b8dcee07050d8bcd4d9310e4783851c13538691de6297a7371c17c2145ea778b71b9dc0e0a1b179a9b2621c8f070a3826a70d23bcc52f4e6e382f8428bd4ef16e373b81c14362f35364c4391e0e14704d4e1a47798a5e9cdc705f08517a9de2dc6e77038286c5e6a6c988723c1c28e09a9c348ef314bd39b8e04a22fba212283b94bacd2d05822b758dbd26d43551c2d939691de62a7a7371bf20584ff0fab2f9e142608202fab5131626900467a3875673d23bcc55f4e6e37d40b09fe1f565f3c284c10405f56a262c4d2008cf470eace7a47798abe9cdc6fa0d739870c12e6a3cd6483003e132745346826d9b8e1efdd048ef3158d39b8df31ae730e1825cd479ac906007c264e8a68d04db371c3dfba091de62b1a7371be635ce61c304b9a8f35920c00f84c9d14d1a09b66e387bf74123bcc5634e6e37cc6b9cc386097351e6b241801f0993a29a34136cdc70f7ee8247798ac69cdc6f98634bdfb8e94926853149283609856d2f146935b5e1f181058ef3158e39b8df2f52aa181ea8f4cfc22f58786409690258d514c768c3e4a60c1de62b1d7371be5d316688ea284c223c2b7718c009302cac566beace87caf0193bcc563be6e37cb962cd11d45098447856ee318012605958acd7d59d0f95e0327798ac77cdc6f97251ac7c5577930ba87aa28af81b1edaac05f207371f2d6465ef3158f09b8df2e32f6b5157c5889a08c20b3de82c9bdd52b8266a6b3e5c6cccde62b1e2371be5c55ed6a2af8b11341184167bd05937baa5704cd4d67cb8d999bcc563c46e37cb8a49bf9e0bec84eadad4f31f98a8cd9d458cdc05a9f9735734798ac789dc6f97131f9194c4af6c586d76ac672947f96285c5fa6750f2e85269f3158f14b8df2e253f2329895ed8b0daed58ce528ff2c50b8bf4cea1e5d0a4d3e62b1e2971be5c4a0a58abbf9413e46da777c49d1643b211c42bf940cba2eda8cc563c53e37cb89314b1577f2827c8db4eef893a2c8764238857f2819745db5198ac78a7c6f971262962aefe504f91b69ddf1274590ec84710afe5032e8bb6a33158f14f8df2e24c52c55dfca09f236d3bbe24e8b21d908e215fca065d176d4662b1e29f1be5c498319d14a617a0c992444271c95a994916ef01f009ba307e8dc563c53f37cb892f633a294c2f4193248884e392b532922dde03e0137460fd1b8ac78a7e6f97125e5286ab4534e5a900ddcfef1d60c34c56684a1c23e8c39e38158f14fddf2e24bb311faf37402dd4b988660632b7e4c0a77cd69444d188e0712b1e29fcbe5c4975623f5e6e805ba97310cc0c656fc9814ef9ad2889a311c0e2563c53f97cb892ea50911589d719d59dee5e40c2d5f12a989f9cad10462525c5ac78a7f3f97125d32d3483c084962df3a982a97da2407d2beb7bb61d8c4bef8c58f14fe8f2e24ba55a690781092c5be7530552fb4480fa57d6f76c3b1897df18b1e29fd1e5c4974a40e467aee8bb3a8672d0cdee7f601caa5a3134733131623263c53fa4cb892e930ddb280aa7d8f7c4b267c3d4f51e614f60a4c4e362646865c78a7f4a97125d251bb650154fb1ef8964cf87a9ea3cc29ec14989c6c4c8d0cb8f14fe952e24ba4a376ca02a9f63df12c99f0f53d479853d8293138d8991a1971e29fd2a5c4974946ed940553ec7be25933e1ea7a8f30a7b0526271b1323432e3c53fa54b892e92869c4d95753f1ff02f342654748443cf0b68eaa3326482a5d78a7f4aa7125d24f5f9c0b5b7e4680bdb34af28686e6a1dc195fb0634c91f8bbf14fe955e24ba49d4b4a6f63d2ef8433335c0d05042b6bb2df01bcc399259578e29fd2acc497493922a737747c418b1e337e4201feb4ff606a45d584324ccef2c53fa55a892e9271454e6ee8f883163c66fc8403fd69fec0d48bab0864999de58a7f4ab5125d24e216af367ec768af309abf2ffff132257c5559b20dc934dfcc14fe956b24ba49c32d5e6cfd8ed15e61357e5fffe2644af8aab3641b9269bf9829fd2ad6497493865abcd9fb1da2bcc26afcbfffc4c895f15566c83724d37f3053fa55ac92e9270c418c0ca311a7fc3ca2bfa7f77fef53dd570fec6b49a8a261a7f4ab5a25d24e170f2a71f2f9b27b31124577e6f63ccfb55a6234d39352e8c44fe956b54ba49c2d1e54e3e5f364f662248aefcdec799f6ab4c469a726a5d1889fd2ad6a9749385a3ca9c7cbe6c9ecc44915df9bd8f33ed56988d34e4d4ba3113fa55ad52e9270b40565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e1670acbd08947ecb880bde3ce5f50894b4afea805333531d446fe956b56ba49c2ce1597a1128fd971017bc79cbea1129695fd500a666a63a88dfd2ad6ad7493859c2b2f42251fb2e202f78f397d42252d2bfaa014ccd4c7511bfa55ad5ae9270b38565e844a3f65c405ef1e72fa844a5a57f5402999a98ea237f4ab5ab5d24e167038cf6141552e0ac3ab030decfef2dcaa96c2af30531ee870e956b56ca49c2cdf719ec282aa5c158756061bd9fde5b9552d855e60a63dd0e1d2ad6ad9493859be6f4fddb22b1aadc678d25fabf2299aa5074d18be4c7d45c4a55ad5b39270b37b6ab214112c97de44be6ae74fdab15d44badc8d7998fc2f8a4ab5ab6824e166f5617680cf2f923f41499bf697abc0e28421fb76f031fa0315956b56d149c2cde94eff5a4b3587013a5ffe15274ddfed02f03949dd63f5aa2c2ad6ada393859bd12a110d434170852c8cc25246921e02008cb4efb7c7ecf85955ad5b48270b37a154221a8682e10a591984a48d243c04011969df6f8fd9f0b2ab5ab6904e166f4234568db9dc249769ffcf71123ed62ffcdf161adc1fb5856656b56d219c2cde8368ad1b73b8492ed3ff9ee2247dac5ff9be2c35b83f6b0accad6ada433859bd065d6c8f9446f4e05fcc03ec40f1b6e7ee289ac76d7ed7b99a5ad5b48770b37a0b46eb77d5644c437764ce0079d9cbf7d6fd77ead7fdb11735b5ab690fe166f41519e948579efb09a6966228eba9f617a8a73231acfb63d26c6b56d220c2cde82933d290af3df6134d2cc451d753ec2f514e646359f6c7a4d8d6ada441859bd05267a5215e7bec269a5988a3aea7d85ea29cc8c6b3ed8f49b1ad5b48830b37a0a45b5c9b69ce3acfec7fd76f55460ee53fe5d3e964db2037645ab69107166f414742cb8f8072d82290cc7506a2827bf27a77ea2ec6b64212c9b56d220f2cde828d11a977adbc12c7d965b0353cfb560cef9c16b98a6c85c9946ada441f59bd05192352ef5b78258fb2cb606a79f6ac19df382d7314d90b9328d5b4883eb37a0a3246a5deb6f04b1f6596c0d4f3ed5833be705ae629b2172651ab69107d66f41464195e161ab6f8c182fa47d1dfd10e8f778cf82850642ff0a456d220fbcde828c732bc2c356df18305f48fa3bfa21d1eef19f050a0c85fe148ada441f79bd0518e6578586adbe3060be91f477f443a3dde33e0a14190bfc2915b4883ef37a0a31c570309828e288ecf9f04b6f67ed2a3b714039e8021812923b69107df6f4146373a186bb1f2b3a0570acf95e4f4036f68d44998fd4303f6486d220fbfde828c6d00433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d900866021779386cbc4caa783bcca0d98a9ab1bef0c132123b4883f017a0a31b2010cc042ef270d9789954f0779941b31535637de1826424769107e02f414636402198085de4e1b2f132a9e0ef3283662a6ac6fbc304c848ed220fc05e828c6c80433010bbc9c365e26553c1de6506cc54d58df786099091da441f80bd0518d90012727a2469e94e7c976dabb4c06bc0a4575e4b091322c7b5883f017b0a31b1ff24e4f448d3d29cf92edb576980d78148aebc961226458f6b107e02f6146363fe49c9e891a7a539f25db6aed301af02915d792c244c8b1ed620fc05ec28c6c7fc1fa629d025acf69c8833859df9bc2d1d6734b4459917e1ad41f80bd9518d8ff73f4c53a04b59ed3910670b3bf3785a3ace69688b322fc35a83f017b2a31b1fee0aaaffed6d165d29ed943e6fdd4edc7049152d1364612ab607e02f6646363fdb1555ffdada2cba53db287cdfba9db8e0922a5a26c8c2556c0fc05ecc8c6c7fb62aabffb5b45974a7b650f9bf753b71c12454b44d9184aad81f80bd9918d8ff6c5557ff6b68b2e94f6ca1f37eea76e38248a9689b230955b03f017b3231b1fed836c25783a7c85556a60a0ef5cb4beeff3d952d3346144f617e02f6656363fdaf6d84af074f90aaad4c141deb9697ddfe7b2a5a668c289ec2fc05eccac6c7fb5e671bb6bb7583d81264ee63cf238de3f7a29710ca1852e186f80bd9968d8ff6bb5a49c623c16a32dc96a2ef963d79efe9f1707d9130a7670ef017b32e1b1fed7540a5e4f45936e870fa0c0724715207ce8f23571f6150721ee02f665d363fdae90d5e229588d05399c0de3640d9023797ca890a3bc2a2883ec05eccbb6c7fb5d11abc452b11a0a73381bc6c81b2046f2f951214778545107d80bd9976d8ff6ba235788a5623414e670378d9036408de5f2a2428ef0a8a20fb017b32edb1fed7446af114ac46829cce06f1b206c811bcbe544851de151441f602f665db63fdae8861f482056367bc53daa98c058681a17754d2ffb92a2a27ed05eccbb7c7fb5d0f4ffb5cb79d31fb5f8219400303616ae955e85b6f5455f3db0bd997708ff6ba1d2c09121c10c67976d0f8a7fdfd20fdcd581312dba8ad8bb717b32ee21fed743958122438218cf2eda1f14ffbfa41fb9ab02625b7515b176e2f665dc43fdae8723c36a11d197c689310a8c7efeae21f300c8ea76ba2b7d2dd5eccbb897fb5d0e3047f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c508ff35ce12b6a7bbdc2f6faf9844ccb58abf55a88ae293777b32ee27fed7438a11fe6b9c256d4f77b85edf5f3089996b157eab5115c526eef665dc4ffdae871423fcd7384ada9eef70bdbebe611332d62afd56a22b8a4dddeccbb89ffb5d0e2847f9ae7095b53ddee17b7d7cc22665ac55faad4457149bbbd997713ff6ba1c501c05b58e01ccfe758fbd22f17aaaf3535837b685ae2adb78b32ee280ed74389f380b6b1c0399fceb1f7a45e2f555e6a6b06f6d0b5c55b6f1665dc501dae8713e7016d6380733f9d63ef48bc5eaabcd4d60deda16b8ab6de2ccbb8a03b5d0e27c6c40051ce4ca76644aaf3f83cbb5c2956e00102a71587fc6997714086ba1c4f7649262e69ff76f806224a6ff8dc9ad2588427c51e2b2a38e32ee2811d74389ed55371e7a165161b8910f75f711f18245bcc754a0c566eb1d65dc5024ae8713d9368095a103054628eee513e61a412c8625d1053e8acf7a3bcbb8a04a5d0e27b16d012b42060a8c51ddca27cc3482590c4ba20a7d159ef47797714094ba1c4f626614af30e2779b5b885a77905f62da13438670f72b3f8cf02ee2812a74389ec3583bb70e9b51b96edd7b1718b523dc21334f3deb5680bde15dc50255e8713d853c89c6ca0d05f59587bc562960a5e03d12e0d7d3ad031fc3bb8a04acd0e27b090525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f6110a4bcc81e0dcdbc5b87da8956f53d0e9a4081748b40fc710ee2812b54389ec2214979903c1b9b78b70fb512adea7a1d348102e91681f8e21dc50256a8713d844292f320783736f16e1f6a255bd4f43a690205d22d03f1c43b8a04ad50e27b088525e640f06e6de2dc3ed44ab7a9e874d2040ba45a07e3887714095aa1c4f611030cf20cae4303f1354a0b14eeb9b3694ecc3d08840fe150fe2812b55389ec21f619e4195c8607e26a941629dd7366d29d987a11081fc2a1fc50256aa713d843e4f4edbd867237f051f48ed33a4cb024e5f519e1e03f9f8408a04ad55e27b087b2ab0105da4a980c20b58025f3ff42c976ae5983907f5948214095aacc4f610f5556020bb4953018416b004be7fe8592ed5cb30720feb29042812b55989ec21ea36d29a23690885bffa263174f62eda5857d8bce11fd7f60950256ab413d843d36da53446d2110b7ff44c62e9ec5db4b0afb179c23fafec12a04ad56827b087a6675cc13a7a8499b7b55eedcbcf19915c0ba54f817f617c264095aad14f610f4b5acbdb21cb6bb6273784038f94914ab2c38cfafffec49c4d812b55a39ec21e9541aa0ef06d39ef063bce2f171f80bd60335c51fcfd8adc9c0256ab483d843d290f66768db0d660c444628626355fa2bb12fafff6fb175d3904ad56917b087a511ecced1b61acc18888c50c4c6abf457625f5ffedf62eba72095aad22f610f4a23d99da36c3598311118a1898d57e8aec4bebffdbec5d74e412b55a45ec21e94407460d1a5d1588d9efda5929a15b3dd3441a5bb4d8bc8dc9256ab48cd843d2870e8c1a34ba2b11b3dfb4b25342b67ba68834b769b1791b924ad56919b087a50e1d18346974562367bf6964a6856cf74d10696ed362f2372495aad233610f4a1c3a3068d2e8ac46cf7ed2c94d0ad9ee9a20d2dda6c5e46e492b55a466c21e943800732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f00e654a54f7620ad94d7752418240a5ddbd02e9517950126ad56919d087a50de01cca94a9eec415b29aeea48304814bbb7a05d2a2f2a024d5aad233a10f4a1bc039952953dd882b6535dd490609029776f40ba545e54049ab55a467421e943780732a52a7bb1056ca6bba920c12052eede8174a8bca809356ab48ce843d286f007266fdfc4c83304ca43b4c101a6885d67c70f1149502caae56919d097a50ddff70e054a56f68e351153cc0182b2f33a7a5243e262a07395dad233a13f4a1bbfd6dd301f7b5344959f73fa8284cbc8f49f68ad849541016bc5a467428e94377f967b85c9c40cb156bbb4578488fd7468e99580c8fa821d179b48ce852d286eff15b8311e557f8ad8f43511889160cb517def2751c504546f46919d0a6a50ddfe143187c778653ddd65368590a2277922a6a274635a08c31e9d233a14e4a1bbfc11243519be30a3e647396da0c3b4d4c4f8090e868411a07d4a467429d94377f812486a337c6147cc8e72db418769a989f0121d0d082340fa948ce853b286eff02490d466f8c28f991ce5b6830ed35313e0243a1a104681f52919d0a7650ddfe041e2ce58beeb475db697cf859d0c88a76b0c99f3f08d1e2a6233a14eda1bbfc073c59cb17dd68ebb6d2f9f0b3a19114ed61933e7e11a3c54c467429db4377f80e04c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b098bddb92268b44ae57412be7300a3aaded1b1f246925d3319d0a76f0ddfe0361317bb7244d16895cae8257ce6014755bda363e48d24ba6633a14ede1bbfc06c262f76e489a2d12b95d04af9cc028eab7b46c7c91a4974cc67429dbc377f80d84c5eedc91345a2572ba095f398051d56f68d8f923492e998ce853b786eff01b024d0343efcedc766240753df266862a8995d7b21692777329d0a76f1ddfe035f49a0687df9db8ecc480ea7be4cd0c55132baf642d24eee653a14ede3bbfc06be1f5329a8ca19a0505ce377748fffb29d11b84882a49f80cb7429dbc877f80d7b3ea65351943340a0b9c6eee91fff653a23709105493f0196e853b790eff01af6095eff4ffec903f9405405ca365cf26ef3237e07927fa72ed0a76f22dfe035eb12bdfe9ffd9207f280a80b946cb9e4dde646fc0f24ff4e5da14ede45bfc06bd6257bfd3ffb240fe501501728d973c9bbcc8df81e49fe9cbb429dbc8b7f80d7ac4af7fa7ff6481fca02a02e51b2e79377991bf03c93fd3976853b7916ff01af5822024dacc2f2c24bd206849b5c2d4ee9de7a3c7627fc16ee0a76f22efe035eaf44049b5985e58497a40d0936b85a9dd3bcf478ec4ff82ddc14ede45dfc06bd5e141b8f5fe22d8be714e03a65671363a2262b4dd59ff1ffb929dbc8bcf80d7abb28371ebfc45b17ce29c074cace26c7444c569bab3fe3ff7253b79179f01af576506e3d7f88b62f9c5380e9959c4d8e8898ad37567fc7fee4a76f22f3e035eaec2ceed3abe7cee1f073c7fb232ef9450bdd9ccaa9ff91a1ca4ede45e8c06bd5d759dda757cf9dc3e0e78ff6465df28a17bb399553ff2343949dbc8bd180d7abae3fcda75c759e0a799be61484b2433c2a22b586a4fe482b2a3b7917a401af575b0bada765c19e97ab049251015ae4a04ef1ad6946fc91fa5576f22f49035eaeb5175b4ecb833d2f560924a202b5c9409de35ad28df923f4aaede45e9206bd5d6a2eb69d97067a5eac124944056b92813bc6b5a51bf247e955dbc8bd240d7abad45d6d3b2e0cf4bd582492880ad72502778d6b4a37e48fd2abb7917a481af575a846eccf08f04bfd6815eb380da4a82ce9c718f06cc92149586f22f49135eaeb4f19ebf6beb6fa7d87f89c98133fae81ce3a743cd6924436b1de45e9236bd5d69d33d7ed7d6df4fb0ff13930267f5d039c74e879ad24886d63bc8bd246d7abad3a67afdafadbe9f61fe272604cfeba0738e9d0f35a4910dac77917a48daf575a745b720ea28e366ef791aae891f3d2366c7fe442b19223598ff22f491c5eaeb4e742f675f1f2cf60a6f01bf91bde0294d3ac0ae16024485720e45e9239bd5d69cd11ff4490bc014405acfe1a2fb26351a204581ebd48925242c8bd24747abad39923fe89217802880b59fc345f64c6a34408b03d7a9124a485917a48e8f575a73247fd1242f0051016b3f868bec98d468811607af52249490b22f491d1eaeb4e641c0c7d32b66ca2e534b6f9758978b50acf0351e74494361745e923a4d5d69cc73818fa656cd945ca696df2eb12f16a159e06a3ce89286c2e8bd24749abad398e7031f4cad9b28b94d2dbe5d625e2d42b3c0d479d1250d85d17a48e93575a731c6c76424289c799e1727df3a44223d051245ceb3724a354bb2f491d27aeb4e63764fedd31e9f1b67ab1c20f407aa5c89cf4fc326b49484d775e923a505d69cc6d56101310aa45efad304a4678eba9b934963ac0d392923eefbd2474a1bad398d938327ece2aee62122d5ab4e9cdb19a63d8b7dda4252621e07a48e94475a731b17064fd9c55dcc4245ab569d39b6334c7b16fbb484a4c43c0f491d288eb4e63626cdc53e5821c0b008230fb9f2d24918a0f21d28d949a2b82e923a512d69cc6c365cb0077da9a98b8d1281f3650a74b0eca8601182935fb06d2474a26ad398d8557a8599c8b97b4296f16666497acbe18414e5e2d526d9a0ea48e944e5a731b093b630be5ed91eb0aaaf2f4c125b7a42b2edf1857a4dcd81e491d289db4e6361102d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420b61c1e2c61963348ab045e90735c144280232b126ed50f648e944f1a731b08416c383c58c32c66915608bd20e6b8288500465624ddaa1ec91d289e34e6361082d87078b18658cd22ac117a41cd70510a008cac49bb543d923a513c69cc6c2105b0e0f1630cb19a455822f4839ae0a2140119589376a87b2474a278d398d8420422e76d937f8b60077ca868869ba3c3d2c65870f6ed6b3658e944f1b731b083f106f465f4653eeb8bc5b3508c9d2a075050d6a1bddaf0acc1d289e37e636107d20de8cbe8ca7dd7178b66a1193a540ea0a1ad437bb5e15983a513c6fcc6c20fa41bd197d194fbae2f16cd423274a81d41435a86f76bc2b3074a278df98d841f40f8c8ba70901f87daf9fd03e44f32ba2d4adacdbed79fa61e944f1c031b083e71f19174e1203f0fb5f3fa07c89e65745a95b59b7daf3f4c3d289e380636107ce3e322e9c2407e1f6be7f40f913ccae8b52b6b36fb5e7e987a513c700c6c20f9c0876b5e51e7246a549c4a9ea1df7851151afc2dc6bd177104a278e028d841f3710ed6bca3ce48d4a938953d43bef0a22a35f85b8d7a2ee20944f1c051b083e6e21dad79479c91a952712a7a877de144546bf0b71af45dc41289e380a36107cdc43b5af28f392352a4e254f50efbc288a8d7e16e35e8bb882513c70146c20f9b8137db6febd86ed0c6910c699d5d6790fc73e89c3bd191505a278e029d841f36f26fb6dfd7b0dda18d2218d33abacf21f8e7d13877a322a0b44f1c053b083e6de4df6dbfaf61bb431a4431a675759e43f1cfa270ef464541689e380a76107cdbc280010a2c299eb1b154c5cc6a511f078e636aa1ae8ca4c2e13c7014fc20f9b77500021458533d6362a98b98d4a23e0f1cc6d5435d194985c278e029f841f36ee2c129b37e0ca2f2421f79b128aa5e9de451d0468a32ad4b94f1c0540083e6ddb5825366fc1945e4843ef3625154bd3bc8a3a08d14655a9729e380a80107cdbb63c5cc58c598b3f4854a4944220f5cf73c0b66d9f8cacf6e63c70150120f9b76b04cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50997c78b12f20290ec1ea0f870938dc45b5e6e7832b7239af1c0540683e6ddaa132f8f1625e40521d83d41f0e1271b88b6bcdcf0656e4735e380a80d07cdbb54265f1e2c4bc80a43b07a83e1c24e37116d79b9e0cadc8e6bc701501a0f9b76a84cbe3c589790148760f507c3849c6e22daf373c195b91cd78e02a0341f36ed50258ed15e0582abc68eb0377eff970440622943802b73ddb01c0540693e6dda9f4b1da2bc0b05578d1d606efdff2e0880c452870056e7bb60380a80d27cdbb53e224d9e24ec6d31d2078705f3f4ba38fc34e769fdadd11ac1701501a5f9b76a7b449b3c49d8da63a40f0e0be7e97471f869ced3fb5ba23582e02a034bf36ed4f61548d140881749ffeae23fc7c9470beb7fe003f3b7460f06c0540698e6dda9eb2a91a281102e93ffd5c47f8f928e17d6ffc007e76e8c1e0d80a80d31cdbb53d655234502205d27ffab88ff1f251c2fadff800fcedd183c1b01501a639b76a7ac3658e2b1171cd2b723d8263640968756ab427b9aba321c3702a034c836ed4f576cb1c5622e39a56e47b04c6c812d0ead5684f7357464386e054069906dda9eae6575e37132d5cd945c26c0d0f8b84555594c4a67e8ca14dd0a80d321dbb53d5b56fe1f8f3c0e1de08513a999e7ceb2a55edaf0ccd195cdbb1501a644b76a7ab53a0e97cb4e7ebe78d6ed7b2bc5fb8d4569f83d96a32d3f772a034c8a6ed4f569002f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a200be210dcd7ffea5ea84793e09550a1600cb5ca919708bbd501a645776a7ab44017c421b9afffd4bd508f27c12aa142c0196b95232e1177aa034c8aeed4f568802f8843735fffa97aa11e4f825542858032d72a465c22ef54069915dda9ead1005f1086e6bfff52f5423c9f04aa850b0065ae548cb845dea80d322bbb53d5a2004a33667a566128a2513f66014b683dfb779f0516708d61511a645777a7ab43ff207925a18324d3fc6f44f3fa8d2ea3f19b806629e11c66a334c8aef04f5687fd40f24b430649a7f8de89e7f51a5d47e33700cc53c238cd4669915de09ead0ffa0df6ef32e2f5d2a989d9f7e22b18b7c11a43f4a484733e8dd322bbc23d5a1ff31bedde65c5eba55313b3efc456316f823487e94908e67d1ba64577847ab43fe637dbbccb8bd74aa62767df88ac62df04690fd29211ccfa374c8aef08f5687fcc6fb7799717ae954c4ecfbf1158c5be08d21fa5242399f46e9915de11ead0ff986b814bdb05bfad506a65a61aa7e9a40c5081a64547358cde322bbc24d5a1ff2f6314f062e1e1dd58a191742d463170134d45a8878e6cbdbd6457784aab43fe5d523c39729a263d690fe9105282c1082146cdad0c1cdb1f7bc8aef0965687fcb9308acb920aaefd89ec98489cfbe0383d39ddb61539b7e2f8915de12dad0ff97161159724155dfb13d9309139f7c0707a73bb6c2a736fc5f122bbc25b5a1ff2e24e3d86f5011e78df7f274a6be5df08ef93b93451e6e12fe3457784b7b43fe5c3288d6696d89f7476cb14bccfc21c39d9d3b4c4a0cdc403c78aef0970687fcb85511acd2db13ee8ed9629799f843873b3a76989419b88078f15de12e0d0ff970a2e47f30838e05492f9191b36fecf0f61fb156e803711b31f2bbc25c2a1ff2e135c8fe61071c0a925f232366dfd9e1ec3f62add006e23663e57784b8543fe5c26453224cdb9e3d503b12a94d3f19a6582989815fddc48707daef0970b87fcb84b1676a2484a2a2cbf2f1b519fd992f2ffdd7287f8b89284fc5de12e180ff970952ced44909454597e5e36a33fb325e5ffbae50ff1712509f8bbc25c301ff2e12a59da892128a8b2fcbc6d467f664bcbff75ca1fe2e24a13f17784b8603fe5c2543fc76aef27b3e8b145a0b4f6c2f5bff997d69bc2c495cbe3ef0970c17fcb84a70ba12e8b25ca541a580791e57c49a7eddbef9382892d3bc8de12e183ff97094d17425d164b94a834b00f23caf8934fdbb7df2705125a7791bc25c307ff2e129a2e84ba2c97295069601e4795f1269fb76fbe4e0a24b4ef23784b860ffe5c25345d0974592e52a0d2c03c8f2be24d3f6edf7c9c144969de46f0970c1ffcb84a684625415f3307c45d4d3f464fbaf8a6d86b3b942592d5608ee12e1840f97094cf185cdb6b3c720b726744b4976c4f75ab82b9844825ac651ec25c3082f2e1299d30b9b6d678e416e4ce89692ed89eeb57057308904b58ca3d84b86105e5c2533a61736dacf1c82dc99d12d25db13dd6ae0ae6112096b1947b0970c20bcb84a6744ef93406b9f2de4b06ebccb358d9d556c20e7e3e2d64ccf712e1841897094ce72a04c0ba4a483f4dda9dc15ea811d2a8305f58795acb3def25c308322e1299cd5409817494907e9bb53b82bd5023a55060beb0f2b5967bde4b8610645c25339a34255b95ff837fef373d2d7296a5729b6dbfbde26b2e9bbd970c20c9b84a6733684ab72bff06ffde6e7a5ae52d4ae536db7f7bc4d65d377b2e1841937094ce665ca7c704d4708274a9baddc250f3f26863415386acbc12f75c308327e1299ccb4561e6b67f4387a1203be37c98460ccb72c5030a5979c9efb8610650c253399516d62619d4e991fa0d3deef126ea419191cc6211b2f537e070c20ca284a673292dac4c33a9d323f41a7bdde24dd483232398c42365ea6fc0e1841945094ce6525b58986753a647e834f7bbc49ba9064647318846cbd4df81c308328a1299cca442c3897b7daf128836b59f812db034873aa56c8a97ab6304861065152533994711996ba3d1c0a7c83a3166fa51be9109218d35122f586a0a0c20ca2b4a67328d2332d747a3814f907462cdf4a37d2212431a6a245eb0d4141841945694ce651a4665ae8f47029f20e8c59be946fa44248634d448bd61a828308328ad299cca3418ddb5cb6467c0f99e515fca8452b043b8ac048e7ac4f4516106515b5339946731bb6b96c8cf81f33ca2bf9508a560877158091cf589e8a2c20ca2b6a67328ce6376d72d919f03e679457f2a114ac10ee2b01239eb13d1458419456d4ce6519c53000707f9a08a84bf51264c18f3aa1871a28070d629468c08328adb99cca337321266bcc9a397c14b68749028457c2b8f875cdeac543119106515b83399466d6424cd7993472f8296d0e920508af8571f0eb9bd58a8623220ca2b7067328cda545bf39ffcf0e1bcfa67fa38977418a8ea5fcf77b1526865419456e1ce6519b334ca3fecd0444631c1961c692546594c8101faec62a674cb8328adc49cca336569947fd9a0888c63832c38d24a8cb2990203f5d8c54ce99706515b89399466ca5f3b586017739b7ed31e999c8b778d2cb04a47ae8a9b772f0ca2b7137328cd934a89096d0549b9b573035b310d4d42540cd6eb5a1538925f19456e27e6519b2521246b86e0f5f622b2ccde5a10f8aca2c5f032b12a72c8bf328adc50cca336494248d70dc1ebec456599bcb421f159458be0656254e5917e6515b8a199466c9210a406c85a3a5b4297f9a1603a40da85c40326c1a9ccc6fdca2b7144328cd92321480d90b474b6852ff342c07481b50b88064d8353998dfb9456e2886519b24642901b2168e96d0a5fe68580e9036a17100c9b06a7331bf728adc510ca33648c11328eefa8355ccc8c9332f9c864fc28cc5b920a4e67dbef515b8a229466c91722651ddf506ab999192665f390c9f85198b724149ccfb7dea2b7144528cd922e44ca3bbea0d57332324ccbe72193f0a3316e4829399f6fbd456e288a519b245c15a6d02a180d691c315fbfc6398609410f1eec4f7340837b8adc5115a33648b72b4da054301ad23862bf7f8c730c12821e3dd89ee68106f715b8a22b466c916e569b40a86035a470c57eff18e61825043c7bb13dcd020dee2b7144568cd922dc3948d9fd96cdcb9957c42629c28e72032539be789a05bfdd56e288ae19b245b77291b3fb2d9b9732af884c53851ce4064a737cf1340b7fbaadc5115c33648b6e7135c0a33199b11d2bd6c09f0097f007412955df6818a3765b8a22b966c916db6e7dd9f33995e4f22473a935f78e08092e9507bbd032eaedb7144573cd922db5690e0c93498e4c9c15ad7a63e57a380d096c6b74a06779dc6e288ae89b245b695e2e71d3697f1beff8211cbfc1529814bf1b32e640d097b9dc5115d23648b6d1486f3c53a960ba97bd086177790358242a78c1c981a2d374b8a22ba56c916da11cf0d1542923f7e746d6eae6e864d8430133df9003474aea7144574bd922db4139e1a2a85247efce8dadd5cdd0c9b0860267bf20068e95d4e288ae97b245b68273c34550a48fdf9d1b5bab9ba193610c04cf7e400d1d2ba9c5115d2f648b6d047398e34e1f8241f2037d7f2f3984ea12b5e1587d1a3bfb548a22ba5fc916da0773441f491567069bd3c126566967fc2018050cf734799aaa144574c0922db40d729a973f01308fef744874a4c92e203adc4c75eb68f4d955288ae982245b68197147872ad8c3a296b557114188ba687064db47d3d1eb56ab5115d30548b6d0316ea1670287e9c7e537744a7b07d2f8db75f8eba4a3d85157a22ba60b916da061695526b1e63612823baebcee060419b19834334647b246b044574c1822db40c15ebca610a2cea7bc4423a1d402665b5ddcaac2898f66316188ae983145b68181498ba4ce1bffd230550d6b9ffb2adeb66597e1101ece06c4115d30638b6d03011f29a2490e62271876e0ff37ecb3e56777721e1d3d9db18922ba60c816da06013e5344921cc44e30edc1fe6fd967caceeee43c3a7b3b63124574c1902db40c0208b8e1d10feb1f19a84a24d7a92dbd988a0ad471f6786a258ae983215b6818031171c3a21fd63e33509449af525b7b311415a8e3ecf0d44b15d30642b6d0300622e387443fac7c66a128935ea4b6f662282b51c7d9e1a8962ba60c856da0600c45c70e887f58f8cd425126bd496decc45056a38fb3c3512c574c190adb40c01817a075bdd514745251687572893a01834cefa31c67884659ae983216b681802f2f40eb7baa28e8a4a2d0eae51274030699df4638cf108cb35d30642d6d03005e5e81d6f75451d14945a1d5ca24e8060d33be8c719e211966ba60c85ada0600bc4916069b7f06254a5809d38c402e341513bf74e03c43d6ce74c190b6b40c01771e3e65e3d46ecd4c7cd9cf1076ba9024d3c145bd7889519de983216e681802ed3c7ccbc7a8dd9a98f9b39e20ed752049a7828b7af112a33bd30642dcd03005da050bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb30a17e078503b6fd3805ac873a290d11bf68ee5e5c44dd4f14c190b7540c01766142fc0f0a076dfa700b590e74521a237ed1dcbcb889ba9e2983216ea81802ecc285f81e140edbf4e016b21ce8a43446fda3b9797113753c530642dd503005d9850bf03c281db7e9c02d6439d148688dfb4772f2e226ea78a60c85baa0600bb302d906031da197fefd272af321f6b39ba1530ba5944def315c190b7550c01765f5b20c063b432ffdfa4e55e643ed673742a6174b289bde62b83216eaa1802ecbe4253d9743ec882771690e4c0740b0ee301054562137d70580642dd553005d97b10ba0b9553f387a5f9e7f178de7445c0ae4ce6c126fc84b10c85baab600bb2f52174172aa7e70f4bf3cfe2f1bce88b815c99cd824df90962190b7556c01765ea42e82e554fce1e97e79fc5e379d11702b9339b049bf212c43216eaad802ecbd411e2b55775febfe79c05b3beea0056001ea9920637e5c989642dd55c005d97a723c56aaeebfd7fcf380b677dd400ac003d53240c6fcb9312c85baab800bb2f4e478ad55dd7faff9e7016cefba80158007aa64818df97262590b7557001765e9c1b280368865881f4acf3c5ef4660d7fba18eec2ebf2ff04c216eaae102ecbd37365006d10cb103e959e78bde8cc1aff7431dd85d7e5fe09842dd55c205d97a6e6ca00da2196207d2b3cf17bd19835fee863bb0bafcbfc13085baab840bb2f4dc655273f10926925d346457722964e7d7b8b9bd72f98126620b7557091765e9b756b7408ee8afa772358ed6dc4927f7aa1db5d6e2f303f0c516eaae132ecbd36d3980d9caa7c1d19c37e3d5b088ae174ee7ae09c2e609858b2dd55c275d97a6d97301b3954f83a3386fc7ab61115c2e9dcf5c1385cc130b165baab84ebb2f4db27215bfd77569c928ac557eba191685364afa83089827ba2db755709e765e9b63703dd85bc13615092571256c288b32674237620e3051185c6eaae13decbd36c56c8e096458ceacca17a872d047748cc930b1201960a3d4b9dd55c27cd97a6d89652e6b7587ffdc4bfc170d988547418d0da49c2fc1494d74baab84fab2f4db11566f2f97e6623b4fc4f4432900ecab14c78b945c82943eea755709f665e9b62138f0b7dca326f95756aeae49f8377e243b5984b6052a21d5eaae13edcbd36c4171e16fb9464df2aead5d5c93f06efc4876b3096c0a5443abd55c27db97a6d8826fd5381f62fe68152780e11fd73c208b99a86ed514aa2b58aab84fb82f4db1036bbcc8eb9c5f52e21bc7ea37a4d66911df9339a72955fab255709f715e9b6205638bea840f21287c0455fc67400afa1e6b68cf4b52ad9965aae13ee3bd36c409532a2db4f4a4d3afd57220c676741c378313fa93a55cd6cc55c27dc87a6d88113266b416bfac2a1777aa6984e3466069b26a51244abb5199ab84fb91f4db102164cd682d7f58542eef54d309c68cc0d364d4a2489576a3335709f723e9b6204255ad2907d5132b15ab6fce0b8377a9a175eba08e2aeeea67ae13ee48d36c4083376caabc8088d8e323a5c40efd4d7b3d98199d1955df78d05c27dc92a6d881056ed955790111b1c6474b881dfa9af67b30333a32abbef1a0b84fb9254db1020a69c5039ed885e6445b5d3833eb9414f10ca8d062577f8742709f724b9b6204135f9c5fea876e4f408380985fcd8651dcc593fcc1af00b285e13ee49836c408254b4b1881e53f2138d3c758b7916acbb4376a55805e03090cc27dc9316d88104922a889b0a0e0c5297454d9671933bf631b1706fdbc07b61a84fb9263db1020914551136141c18a52e8a9b2ce32677ec6362e0dfb780f6c3509f724c7b620412216b47f6f59e5975d9e198d945b2d2587189e77f3f0207c6b13ee49906c4082432d68fedeb3cb2ebb3c331b28b65a4b0e313cefe7e040f8d627dc9320d88104865ad1fdbd67965d76786636516cb4961c6279dfcfc081f1ac4fb92641b102090c41b65427a58f3da4bd92949acfc7543371361b9c810587599f724c84620412170f7f00fc2180fe0147eb512d95ecd0618eae9336020cb2b43ee49909c408242d1efe01f84301fc028fd6a25b2bd9a0c31d5d266c041965687dc932138810485a3dfc03f08603f8051fad44b657b341863aba4cd80832cad0fb926427102090b4080a608de26a72c20c20b164a5c4ab0721b6f5ad106739a2f724c84f204121671014c11bc4d4e584184162c94b89560e436deb5a20ce7345ee49909e408242ce2029823789a9cb083082c5929712ac1c86dbd6b4419ce68bdc93213c8104859c4053046f1353961061058b252e2558390db7ad688339cd17b926427902090b380cb8618afd09aed88ed13e4252a8d86cc7b1b6ce06753e30724c84f30412166f1970c315fa135db11da27c84a551b0d98f636d9c0cea7c60e49909e608242cde32e1862bf426bb623b44f9094aa361b31ec6db3819d4f8c1c93213cc104859bc65c30c57e84d76c47689f2129546c3663d8db67033a9f183926427982090b3785798715ca6fd7040b9da0c1d20ebaec7275dc8dd6755870824c84f31412166ef3b433b66245d6339407a403238358588fafdedb7ceacb21149909e638242cddd0298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720a633de47c7524a936eaa1719b24cc3288f8ddb2756c208e4c84f32012166ee414c67bc8f8ea49526dd542e33649986511f1bb64ead8411c9909e640242cddc8298cf791f1d492a4dbaa85c66c9330ca23e376c9d5b082393213cc804859bb905319ef23e3a92549b7550b8cd926619447c6ed93ab6104726427990090b37720324636f49db4cd4b3b703f11a8aaeb233bd0372456c3ace5c84f32022166ee3f648c6de93b699a9676e07e235155d64677a06e48ad8759cb909e640442cddc7e552b347f4d35b7e4ba87243e9909d4879b83388e5b105798213cc809859bb8fb3668c1ab70cdf28141d470752871d109e348cd19b6225331427990140b3771f56cd18356e19be50283a8e0ea50e3a213c6919a336c44a66284f32028166ee3ea65b55f5a999a4cbcd417e9cc98256c2239659063d88af0c609e640512cddc7d3577d176209971c3174f5fb9126a9003f1f0d7cc4b117858d13cc80a359bb8fa53b0c8770e990bb1ab6b21f1a43b02878ea5d55866230af1b27990147b3771f49022b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d2208ad9e3aa60fe3b4e8a998b1f6f9e3b203f41c27118c08dd3cc80a419bb8fa44115b3c754c1fc769d1533163edf3c76407e8384e231811ba799014833771f48822b678ea983f8ed3a2a662c7dbe78ec80fd0709c46302374f32029066ee3e910456cf1d5307f1da7454cc58fb7cf1d901fa0e1388c6046e9e640520cddc7d22016ec3c573760be06575fb31765fc631aeb841e6e18c231d4cc80a41abb8fa43f2dd878ae6ec17c0caebf662ecbf8c635d7083cdc318463a999014835771f487e5bb0f15cdd82f8195d7ecc5d97f18c6bae1079b86308c7533202906aee3e90fc43743b66916872ea87c3c0b3264140d208634f6dc61332a7640520d6dc7d21f712facf79f933688cdc4da95e42e0a99ebd08fad88c28094fc80a41aeb8fa43ed25f59ef3f266d119b89b52bc85c1533d7a11f5b11850129f9014835d71f487da4beb3de7e4cda2337136a5790b82a67af423eb6230a0253f202906bae3e90fb423e8d47c9ffdc71eaf3372ea0d6374f0948a32c16141ee7f40520d76c7d21f6747d1a8f93ffb8e3d5e66e5d41ac6e9e129146582c283dcfe80a41aed8fa43ece1bb5aa9f56599f328993f3a02bebfbbcfe6b270285095dfe014835dc1f487d9b376b553eacb33e651327e74057d7f779fcd64e050a12bbfc02906bb83e90fb366ed6aa7d59667cca264fce80afafeef3f9ac9c0a142577f80520d7707d21f66c69bfada7892f7c4c1965c4f955be05e29f9b9411284c93f10a41aee1fa43ecd75f91b3fbe8c17b4fff91b1eaa1da33bfeb79841f509acbe314835dc4f487d9ad4b35c0a4a7e57957cbe98bcd3a128f7a8335643ba1373bc72906bb8ae90fb359227dd9f6262d756764993f926a8346efb2ad247442701b8f520d7716d21f66b144fbb3ec4c5aeacec9327f24d5068ddf655a48e884e0371ea41aee2da43ecd621609c0856f1858555f2b2641a06b43b976f6edce09c2123e4835dc5c487d9ac32c13810ade30b0aabe564c8340d68772ededdb9c1384247c906bb8b890fb358658270215bc6161557cac990681ad0ee5dbdbb738270848f920d7717121f66b0c3c605cd84f254562c61f5a04f9b845c663f9ca6d4e1235f341aee2e343ecd61704d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d09a624bae95a1afab209b803d39d670ee86be1af384c1fcf06bb8b8f0fb3585a134c4975d2b435f564137007a73ace1dd0d7c35e70983f9e0d77171e1f66b0b4269892eba5686beac826e00f4e759c3ba1af86bce1307f3c1aee2e3c3ecd61684d3125d74ad0d7d5904dc01e9ceb3877435f0d79c260fe7835dc5c787d9ac2d02674a45b6c043262ed61a835303498e9330076f084c3a0f16bb8b8f1fb35859f4ce948b6d80864c5dac3506a606931d26600ede1098741e2d77171e3f66b0b3e25e4ea1a86734c43824cc8ccb7308b9f784437bf131027c6aee2e3c8ecd6167b4bc9d4350ce69887049991996e61173ef0886f7e26204f8d5dc5c791d9ac2cf623a60116f02fb3c5d5f94b2ad32056788d533af94c42431bbb8b8f24b35859eb474c022de05f678babf29655a640acf11aa675f29884863777171e4966b0b3d61aaa5d08972151cf24ab54a342df81dce18f47e2310ab06fee2e3c93cd6167ab3554ba112e42a39e4956a94685bf03b9c31e8fc4621560dfdc5c79279ac2cf566aa974225c85473c92ad528d0b7e0773863d1f88c42ac1bfb8b8f24f35859eac616540f18f6d1130f220cd120d5a36e1b8bc9b0e885727807171e49f6b0b3d574edcda8ff53ca519b107c21c111295be1dbb921a10aff301e2e3c93fd6167aad29cc0dccc0dbcceb2ed5ac3018835376e7b9803121618a04c5c79280ac2cf55953981b9981b799d65dab58603106a6edcf73006242c314098b8f25015859eab233428fdfd9d1b664881cd8b8586b75d64b285cc18587cc14171e4a03b0b3d56366851fbfb3a36cc91039b170b0d6ebac9650b9830b0f98282e3c94076167aac6591c982c3da95c49ed398ad9580bff53d8e3cf031620d4515c79280fc2cf558b3e4b890551b53b4ba7393daaa67626a25e09fa032c434ca3b8f25020859eab1508a96ab779ccf94f1b38a34d434a753f6856500358883d4871e4a0420b3d56291152d56ef399f29e3671469a8694ea7ed0aca006b1107a90e3c94084167aac5222a5aadde733e53c6ce28d350d29d4fda159400d6220f521c79281082cf558a4454b55bbce67ca78d9c51a6a1a53a9fb42b2801ac441ea438f25021059eab14816a90424733217a980505ccc2b057bf131a75c32888578881e4a0421b3d5628f2d520848e6642f5300a0b998560af7e2634eb865110af1103c94084367aac51e5aa41091ccc85ea601417330ac15efc4c69d70ca2215e22079281086cf558a3c415a79d06ff34003cf490e594e8a0784397d3d91442d6841f250210e9eab14770ec74c4db64902bf6b5844aa937237031f3cd71f885c7484e4a0421e3d5628ed1d8e989b6c92057ed6b0895526e46e063e79ae3f10b8e909c940843c7aac51da3b1d3136d9240afdad6112aa4dc8dc0c7cf35c7e2171d21392810878f558a3b4024cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece0932ec6a22aa62cc9e21353247bf804e98a453e50b9520a0940843cbaac51d9c1265d8d44554c5993c426a648f7f009d3148a7ca172a414128108797558a3b3824cbb1a88aa98b327884d4c91efe013a62914f942e54828250210f2eab1476704997635115531664f109a9923dfc0274c5229f285ca90504a0421e5d5628ece01f411f4f0108af81aed97b1c72562ce436879a4db953ae0a40843cbbac51d9bf3e823e9e02115f035db2f638e4ac59c86d0f349b72a75c148108797758a3b37e0916d5e8da8540be882c1469bfb6db8b8660c533e5505c2a0210f2efb14766fb122dabd1b50a817d105828d37f6db7170cc18a67caa0b8540421e5df628ecdf6245b57a36a1502fa20b051a6fedb6e2e198314cf954170a80843cbbec51d9bec48b6af46d42a05f44160a34dfdb6dc5c3306299f2a82e1501087977d8a3b37d81d7fb73a7eb68ea04f876e93f1cbe0b3124eaf3b550766a1210f2efc14766faf3aff6e74fd6d1d409f0edd27e397c166249d5e76aa0ecd42421e5df828ecdf5e02113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760844d65b44f2f4e42b8f891ef636ab1bd5f463a9507cfa1610f2efc54766faec1089acb689e5e9c8571f123dec6d5637abe8c752a0f9f42c21e5df8a8ecdf5d82113596d13cbd390ae3e247bd8daac6f57d18ea541f3e85843cbbf151d9bebb04226b2da2797a7215c7c48f7b1b558deafa31d4a83e7d0b087977e2a3b37d760105fbe612591d0fa85beb9e759c8d9b80b88969207d145620f2efc55766faebf20bf7cc24b23a1f50b7d73ceb391b37017112d240fa28ac41e5df8aaecdf5d7e417ef984964743ea16fae79d672366e02e225a481f4515883cbbf155d9bebafc0f104bb602f10a8bfabbf732c4a4f5bb0887108d3e8bcf117977e2acb37d75f71e20976c05e21517f577ee658949eb76110e211a7d179e22f2efc55966faebee3c412ed80bc42a2feaefdccb1293d6ec221c4234fa2f3c45e5df8ab2cdf5d7dc0494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb709296cb9dbd5ae2f454bc31c370baba5e0f5c0cde8c03919977e2acd37d75f6e1252d973b7ab5c5e8a9786386e17574bc1eb819bd18072332efc559a6faebedc24a5b2e76f56b8bd152f0c70dc2eae9783d70337a300e4665df8ab34df5d7db8494b65cedead717a2a5e18e1b85d5d2f07ae066f4601c8ccbbf15669bebafb701ea9244a93bd65ac218259bb6718e258bb9e68db8c05359a77e2acd47d75f6df3d524895277acb584304b376ce31c4b1773cd1b7180a6b34efc559a8faebedbe06b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b0d6dd3ae4ab032d0a59f1dcb258362bb3577fed6602cf4d5bf1566a5ebafb6f61adba75c956065a14b3e3b964b06c5766aeffdacc059e9ab7e2acd4bd75f6dec35b74eb92ac0cb42967c772c960d8aecd5dffb5980b3d356fc559a97aebedbd86b6e9d72558196852cf8ee592c1b15d9abbff6b30167a6adf8ab352f5d7db7b062ef93918165afc226b804aa4e9453ae03c2496302d0f15cf1566a5fbafb6f5f51f17fcfd92de23c1a36314c9386cf56b3c6eec305a386bae2acd4c075f6debd2ff5584c88be473001328a911d6bc6a813d039830b48b176c559a981ebedbd795feab099117c8e60026515223ad78d5027a07306169162ed8ab35303d7db7af24be7b9def95b9f77d190523c6c0d429afb8342092d2469dc1566a608afb6f5e323e1cc6ac919c1a76fe6cc70ce78ad30a348e00f5a4a77b92acd4c125f6debc547c398d59233834edfcd98e19cf15a614691c01eb494ef72559a9824bedbd78a1b998a57fac989558c6159bb3040dcbd3965dc3a692b82e5ab35304a7db7af13373314aff59312ab18c2b3766081b97a72cbb874d25705cb566a6094fb6f5e266e66295feb262556318566ecc10372f4e59770e9a4ae0b96acd4c129f6debc4c68deab6cacaecd642fd0f5d178650de477713dd0495dbb2e59a98254edbd78975dcfaf862fc01d802c68139ae72843c39b24d79d92bd1a5db35304aadb7af12d47b1b7b935e2bdb825964f2dc4aeaf81e28c0b38257bd8bc66a60956b6f5e2591b75c81f4227fe2817f2c6537fbb86fe715a726d4af95579cd4c12ae6debc4b136eb903e844ffc502fe58ca6ff770dfce2b4e4da95f2aaf39a98255cdbd789626dd7207d089ff8a05fcb194dfeee1bf9c569c9b52be555e735304ab9b7af12c467c099a6e7a273f88c5c5a93f43a5fee3715ef6757cc4fcf6a6095746f5e25875b938bfaa5a76aa8e57edd1fded2e7d71a6e3acbaf9a439fd4c12ae9debc4b0d433970a221b1580997c3e237b403f7a8e11ed1945f362b40a98255d4bd789619128539f119c532cafc4dec675e66174c6e7fff25be6dfa825304abaa7af12c31250a73e2338a6595f89bd8cebccc2e98dcfffe4b7cdbf504a6095754f5e258624a14e7c46714cb2bf137b19d79985d31b9fffc96f9b7ea094c12aea9ebc4b0c4203c2835a48c190faf358b32e98ee25e2042552af371781398255d54d78961874078506b4918321f5e6b1665d31dc4bc4084aa55e6e2f027304abaa9af12c30e0d02f9836892e6f6899c54c39c99b1732d4bb0a8cdc7844f609575545e25861b1a05f306d125cded1338a987393362e65a9761519b8f089ec12aeaa8bc4b0c36340be60da24b9bda2671530e7266c5ccb52ec2a3371e113d8255d5517896186c6817cc1b449737b44ce2a61ce4cd8b996a5d85466e3c227b04abaaa2f12c30d85c41f0e35f90f220668b7431bff93f2d80fd6689dc79e8f709575546e25861af44963a73958466f899dd105b7650a655ae3d2910b8f575ef12aeaa8ec4b0c35d153ecd94016b50a9008048aee2ff74a608bcae1e71ec8fdf255d551e896186b92a7d9b2802d6a1520100915dc5fee94c11795c3ce3d91fbe4abaaa3d12c30d7254fb365005ad42a4020122bb8bfdd29822f2b879c7b23f7c9575547a25861ae43608c54ce1bd07ffd0c86d6f0e59cd2af227ccf08f6622fa2aeaa8f54b0c35c76c118a99c37a0fffa190dade1cb39a55e44f99e11ecc45f455d551ea96186b8e64356de05d56a2b70fe7ddb42fc55ca674e18fbf3d9a2fe9abaaa3d62c30d71b547d346d910fc825ec95e36055e8e14796057b7b7b3603d4575547ad5861ae35350cc187f8821303a5f1eeb8a22fea89d84d52f3f66daba9aeaa8f5bb0c35c696a19830ff10426074be3dd71445fd513b09aa5e7ecdb57535d551eb76186b8d260455eccb86acec6648de2da7f1dd2220d77a7ccd9b852a7baaa3d6fc30d71a34c9d16464738204495e1edacf499cc3ec731ab96b372495075547ae0861ae345254c853964d2c340f88a0351df91c0783aa5b32a66e636a1eaa8f5c20c35c6894a990a72c9a58681f11406a3bf2380f0754b6654cdcc6d43d551eb84186b8d1221446d9269ad8fbbaeee353f74a529db96d928a69b9a7e88aaa3d70930d71a234288db24d35b1f775ddc6a7ee94a53b72db2514d3734fd115547ae1261ae344611240ef67d18c1a6887efcf5c8f2cf6907a6fe976e6b9e23aa8f5c25c35c688b22481decfa31834d10fdf9eb91e59ed20f4dfd2edcd73c47551eb84b86b8d11644903bd9f463069a21fbf3d723cb3da41e9bfa5db9ae788eaa3d70970d71a22c1532d060bf288fec10be0fa63df4a342e97a50b8735e951e547ae12f1ae344572a65a0c17e511fd8217c1f4c7be94685d2f4a170e6bd2a3ca8f5c25e35c688ae54cb4182fca23fb042f83e98f7d28d0ba5e942e1cd7a547951eb84bc6b8d115c35a8dbb2cfa7021852b6a529e6034211f814e1c09af64cf3a3d70979d71a22b76b51b7659f4e0430a56d4a53cc068423f029c38135ec99e747ae12f3ae34456e62b5c77814fe8b1917a0bc9f8e6b30428c95e2ff6bdad7cf8f5c25e85c688adb517de79d005f98e9fc07a1371334887fc56e21fbd7b753a01eb84bd1b8d115b52f0e27e6d721b48bc4d56a661cc738fa371e9ff4af704b413d7097a471a22b695e1c4fcdae43691789aad4cc398e71f46e3d3fe95ee096827ae12f48e34456d2484af84832e954e6e01bd190697b0be388bcdbcfbdc2d105f5c25e92c688ada31ca8493d3c352c858cfdcb18c9543fc1bdbc139c7b87460ceb84bd268d115b453950927a786a590b19fb963192a87f837b782738f70e8c19d7097a4d1a22b68a72a124f4f0d4b21633f72c632550ff06f6f04e71ee1d1833ae12f49a34456d147154a296b80be6e434b480be410026089a22f8e0dc3bd4685c25e935688ada276ebb9dda467a5080362f2974785e740be0884dbeb8794cd1b84bd26bd115b44d69899461635723b839247ae0e71b10126d52f77a70f43da47097a4d8a22b68995f25816f9d10ca283f0f1db9c494481f86e84af1e1ea1f49e12f49b24456d1314a5d5b8c108417084ae4636b7f86b839ba12f1e0c3d5e294c25e936588ada26120cd0fc4f76ab0c8628eeecef56b986e20683fbe87ad692a84bd26cc115b44c1419a1f89eed56190c51ddd9dead730dc40d07f7d0f5ad255097a4d9822b689820f4697c0b40d45d95701e333cc0c89b32de35af71eb748ab12f49b31456d13031e8d2f81681a8bb2ae03c667981913665bc6b5ee3d6e915625e936628ada26063d1a5f02d03517655c078ccf303226ccb78d6bdc7add22ac4bd26cc515b44c0c064716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b6898170c8e2d64ed99630509aa832cad84eb2836ba676beb77d2b32f49b31656d1302e191c5ac9db32c60a135506595b09d6506d74ced7d6efa5665e93662cada2605c3238b593b6658c1426aa0cb2b613aca0dae99dafaddf4accbd26cc595b44c0b864716b276ccb18284d5419656c275941b5d33b5f5bbe95997a4d98b2b689817054f52efbaff8b308676e5ac2ceacda7e17e8d2bbb77ecf33f49b31666d1302df35fcb6a43653e8c89ba2dd7d93b7dcf6dc1401746eff4268e93662cdda2605bd6bf96d486ca7d1913745bafb276fb9edb82802e8ddfe84d1d26cc59bb44c0b7a6405333dafb225da3b519dee453d9bd61c9261cebbfeada4a4d98b38689816f3541cbf2835c6ce6c436963d480d95fa6e5671f9a77feff4a49b31671d1302de5344bd6fd41f01f905398efa0f810e74877109b31efffa29593662ce4a2605bc96897adfa83e03f20a731df41f021ce90ee213663dfff452b26cc59c944c0b7925d41b4a1de2300f91b29e67bd6a1c51c8884c8c4c0002e574d98b39389816f234695c1f092a884aa0319f4efa3a1b233bd4bed86800200af9b3167281302de45193ddc8dfbb38c0bd2fa11d73da18c6226da370a0005a5603662ce512605bc89327bb91bf7671817a5f423ae7b4318c44db46e14000b4ac06cc59ca24c0b791264f77237eece302f4be8475cf68631889b68dc2800169580d98b39449816f22456013d1cb3fee3166496b6b1e36a8b0be314144d002ecf02b316728a302de4473814d2e63e6048e495f3955bbd333e12726a8497005f4206662ce515605bc88d7029a5cc7cc091c92be72ab77a667c24e4d5092e00be840ccc59ca2ac0b7911a6c65a445cfe3a64a24947d66eb2b204475ec6e59017eac1a98b39456816f223364dda1387629cf4c15ef22c5ccb46883981b38af02fefc36316728ae02de446555cd9b1dc2b6214ff8a46d838fc6f901dc78cd5b05ff9c6d62ce515d05bc88c937ad8ee85bcec557be0f02ff15ec19fe6533f6b30c00dcdbc59ca2bb0b7911916f5b1dd0b79d8aaf7c1e05fe2bd833fcca67ed661801b9b78b39457616f223226ac8944e459d9816c50233f44e0e8ff4411236c93005177016728aed2de4464361a38149619db2e556ca8fe0927b47e32e66c98f600bd2e12ce515db5bc88c854f595b3f999de8827a5b47b91b54b7c1090fef1bc01949c359ca2bb7b79119092ac50f2c099e53bcc17cb76a2d07977cbe623a3480343787b39457706f223211558a1e58133ca77982f96ed45a0f2ef97cc4746900686f0f6728aee0de4464223726955cfcdbd1aad2b905a0aa7c85eda5cb44cf00d2821fce515dc2bc88c8436e4d2ab9f9b7a355a5720b4154f90bdb4b96899e01a5043f9ca2bb857911908668acae20c9d1c96317aa3e7aa0503fb1436f6f39034bac803945770bf223210b5d6bb4ee6a06157dfc1aa4ed36fea75d33213a6f0698fd01728aee18e446421546e9c289aa6eadb3c4fb71d2645b76b51284d0db0d339e03e515dc32c88c842919e5ddc02b3fde1f56bd0b9cbf151564d14bfdb31a68e008ca2bb8669119085133cbbb80567fbc3ead7a17397e2a2ac9a297fb6634d1c011945770cd223210a267977700acff787d5af42e72fc545593452ff6cc69a3802328aee19a446421445b4146ae306173b282ae84ddef06d32136a24995d348a447515dc33588c842874294e60937256a1cd22331b3d46bce3d1986ef28a692ec8fa2bb866c1190850d113c24bf44ad56f1710c8b5f9f35c474df503a4e4d277d2045770cd923210a192278497e895aade2e21916bf3e6b88e9bea0749c9a4efa408aee19b24642143244f092fd12b55bc5c4322d7e7cd711d37d40e939349df48115dc33648c84286415f37ea6fbcd3a43552a82f4f00c4ba1a6c42e6f693d8d032bb866ca190850c72be6fd4df79a7486aa5505e9e01897434d885cded27b1a065770cd943210a18e57cdfa9bef34e90d54aa0bd3c0312e869b10b9bda4f6340caee19b286421431c3bae4de4b4cc54d2761a3f9f76c08507e263cf7849ee0c1a5dc33651c8428637036ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da0dbbd1d8ffecb172e3ea9cdb8f7cc829c427ebb64f76f0d6ee19b292421431b41b77a3b1ffd962e5c7d539b71ef99053884fd76c9eede1addc3365248428636836ef4763ffb2c5cb8faa736e3df320a7109faed93ddbc35bb866ca490850c6d06dde8ec7ff658b971f54e6dc7be6414e213f5db27bb786b770cd949210a18da067cf763cd52d99e60b6ff5b0ee2aaa96eec11761f770b16fe19b292521431b3f5bb1452680bdb683e3a61359d2b37d2889c48ac0eee306e0c336524b4286367d4374e2f9d7ddefbf94124eab9bc5224bbfcb717eddc7b1c2866ca497850c6cf912fc1ea0861e6236f4eac54f2de86c922bd93efabb9107860cd949300a18d9f125f83d410c3cc46de9d58a9e5bd0d92457b27df577220f0c19b292601431b3e24bf07a82187988dbd3ab153cb7a1b248af64fbeaee441e18336524c0286367c423f34db10755946f741c527165a18c8c0b0c53d2dc89e03166ca498150c6cf8747e69b620eab28dee838a4e2cb4319181618a7a5b913c062cd949302a18d9f0e1bdf8f70f3b8d4759d3771bd8ce45a2ad873ab48722924c69b292606431b3e1b37bf1ee1e771a8eb3a6ee37b19c8b455b0e75690e452498d36524c0c86367c366f7e3dc3cee351d674ddc6f6339168ab61cead21c8a4931a6ca498190c6cf86c6b0ed43474292664b681b5e45d80f9516fdfb640914aca35d949303318d9f0d762300115beb4cf8139c993c0b1601a9d8c01c87e2297386cb292606731b3e1ad50725ad853cc21ba40594f79591e5d35c445ecf9453014da6524c0cf6367c3592cf70e5d7dfac62c4d78c6eaa89ae26634ce35ef8a61cdb5ca49819fc6cf86b159ee1cbafbf58c589af18dd55135c4cc699c6bdf14c39b6b9493033f8d9f0d623fee9222ce4d9b6902a943a298c9b1937f7b33bb2988dad8292606801b3e1ac30bef7cf272fdb989d218af3d27f18b21ab38c373531359b1524c0d01367c358517def9e4e5fb7313a4315e7a4fe31643567186e6a626b362a4981a026cf86b0a2fbdf3c9cbf6e6274862bcf49fc62c86ace30dcd4c4d66c549303404d9f0d6145f7be79397edcc4e90c579e93f8c590d59c61b9a989acd8a92606809b3e1ac284b0a27d4063e1b54ee511bca7576da155fce933231373f1624c0d01467c3584f2226a854e2deb961a9685f8ce14bdc256bdf82616270222d4981a029cf86b09d444d50a9c5bd72c352d0bf19c297b84ad7bf04c2c4e0445a930340539f0d613a14acfa0061dd683e7267a62b7b8d98905bc0658289c22cb6260680a83e1ac273"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x0096a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0x01a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0x02a94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_getPayloadV6",
+ "summary": "Obtains execution payload from payload build process",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/amsterdam.md#engine_getpayloadv6"
+ },
+ "params": [
+ {
+ "name": "Payload id",
+ "required": true,
+ "schema": {
+ "title": "8 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "schema": {
+ "type": "object",
+ "required": [
+ "executionPayload",
+ "blockValue",
+ "blobsBundle",
+ "shouldOverrideBuilder",
+ "executionRequests"
+ ],
+ "properties": {
+ "executionPayload": {
+ "title": "Execution payload object V4",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas",
+ "blockAccessList"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "blockAccessList": {
+ "title": "Block access list",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ },
+ "blockValue": {
+ "title": "hex encoded 256 bit unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blobsBundle": {
+ "title": "Blobs bundle object V2",
+ "type": "object",
+ "required": [
+ "commitments",
+ "proofs",
+ "blobs"
+ ],
+ "properties": {
+ "commitments": {
+ "title": "Commitments",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "proofs": {
+ "title": "Proofs",
+ "type": "array",
+ "items": {
+ "title": "48 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{96}$"
+ }
+ },
+ "blobs": {
+ "title": "Blobs",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ "shouldOverrideBuilder": {
+ "type": "boolean"
+ },
+ "executionRequests": {
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -38001,
+ "message": "Unknown payload"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_getPayloadV6 example",
+ "params": [
+ {
+ "name": "Payload id",
+ "value": "0x0000000038fa5dd"
+ }
+ ],
+ "result": {
+ "name": "Response object",
+ "value": {
+ "executionPayload": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x673b0a3b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x1256f99fb899c2de0aeac0c5aa6aad69de188b6a0f4ac29f2d075a53aa3ed0e4",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf2",
+ "validatorIndex": "0xf2",
+ "address": "0x00000000000000000000000000000000000010f2",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf3",
+ "validatorIndex": "0xf3",
+ "address": "0x00000000000000000000000000000000000010f3",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x60000",
+ "excessBlobGas": "0x0",
+ "blockAccessList": "0xc0"
+ },
+ "blockValue": "0x10a741a46278014d",
+ "blobsBundle": {
+ "commitments": [
+ "0x85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0"
+ ],
+ "proofs": [
+ "0x94f2118951a591531b0bb7b4ed5bd96ae41069e709afb8d3e64d27f2e2114e9b23c678ca876a50e2f77f53bb0ca518ef"
+ ],
+ "blobs": [
+ "0x00100008000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000800000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000020000000000100000000000000000000000000000000000000000000000000001000800002000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000000000001000480000000000000000000000000000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000100000100100000000800000000000000000000000000000000400000000000000000000000001000000000000000020000000000040000000000000000000000000000001000000000000000000000000040004000000000100000000000000000000000000000000000000020000010000000000020000000000000000000000020000080010000000000200001000000000000000000000000000000000000000000000000010000000000000000100000200400000000000000000000000000000000000000000000000000000000000010000000020000000000000000200000000000000800000000000000000000100000000040000000000000000000000000000000000000000000000000000200040000000001000400000000000080000000000000000000000000001000000001000002000000000400000000000000000000000000000020000008000000000020000000000000000000000000000000000000000000000000000000080000100000000400100000000008000000000000000000001000100000080000020000000000000008000080004000000000010000000000000000000000010000000800000000000000002000000000001000000000000000000000080000000000000800100800000000020002000000000080008000000010000000000040000002000000000000000000000000000000000400000000000008000000000000800000000000000000000000040000000000000000000000000000040000002000000000010000000000000000000200001000000000000000000000000080000000000000000400000001000000000000000000200000000010000000000000004000000000000020000200004100000010000000000000000000000000000100020000000000000000080000001000000080010000000010001000008000000000000001000000000000000000000000000000000000000000004000000000002000000000008000100000400000400000000000000000000010000000000010800000000000040000000002000000000000800100400000000000000400000001001000200000000000000000000000000000000000020000004000000008000000080000001000000000000020000000000000000000000000001000200400000004000002100000000040000800010000020000000000000000000200000002000000080000000000100000000800000000000002000000100000000020000008000000000020000000000000000100080000200002000000010000000000000008000000000000400000000000000000000200000000000000000002000004000000000000004040000000000000000000000100000000000020000000000000040000000010200008004000400000010000000000000002080000000000004400001000040002000000200000000000000000008000000000010200000000000000000000000000000000100100020000000040000000000000000002000800020000000020000000020001200100000000000000000000000000000000000002000010400000000000010010000000000000000004040001000001000000000000000000000000400000000000004000000000100000000100001000000000000000000040000000000800000000000020000000000002040000000000000000002010000020040040800000000001000000100020000040000000000000000000000800000800100000000200000000000000000000000000000001000000000800020080000000000000000002000000000010000000020000000000000000000000000002000000000000000002000000000000000000000000000000001000008100000000000000000000000002000040100200000010000000000000000100000000000000000000000000010000020000000400000000000000000000000000000008000001000000000040000000002000000000080000000002800000000000020000000000000000000001000000000000000000400000000000002000000000100000000000000002000001004000020400000000000000000004000000040000800020020000000000000000000000002000000400008000000000008001400000010000000010000002000020000040001000000000000000000004000200000000000000002000000000000000000000000000000000020000000040000000000200001000040000000004000000100020000000000000010000002000000000000002100000000000000000000010002000200000002000000000004000001000000000200000000000000000000004000020001020000040010000002001080040002001080400010000800004000000000020000008100002200000000000010020001004000000000002000080000000020000400008000000000000000000020000000000000000000000000002000000000000000001000000040004000000000000008200002002100000000000000000800000000400000000020002002008000000000004000000000000001002000000000002000000000000000800200000000000000001000000080000000000000040020000000040001000000000020400001000001200200800000002001000000020000000000000008000002000020200010000000001000000020000000000000020000100020100040012000000000000001000020001000020000000400002000000080000000000000000000000000000010001000000800000040000000000001010000000000000000000400000200000010000000020001000000002000000400000000000000000000000000002000000080000100000000210000012000020000040400000000000000002008004000000040000000100000000000002000020004000000000000100008000000004010000004000000004000400000000000000100001000000000000040000000001200000000002000000002000000004000000000000100000020000001080001000000002080000000000002000000000000080000000000000000101000004001800000020000000000000000000400000000004000020000000000000020000000080000000000401000000000000000000000004000400000001000000000000008000000001020020000004000000000000001000000000000000002000000800000000000080020000000800000010000000020000100000004100000000010000100000000002000000000000100000000080800000000000001000100000000080000000000000000020000000008000001000000000000000000001000100000000000000000002000002080000000000200000000004000000200000004002000000000000020000000000000000000000000080000002000200004008000400010000000000020010000000000000000000000000000000000000802001010000800000080000000100000000000002008002004000000000"
+ ]
+ },
+ "shouldOverrideBuilder": false,
+ "executionRequests": [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_newPayloadV1",
+ "summary": "Runs execution payload validation",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#engine_newpayloadv1"
+ },
+ "params": [
+ {
+ "name": "Execution payload",
+ "required": true,
+ "schema": {
+ "title": "Execution payload object V1",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "schema": {
+ "title": "Payload status object V1",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING",
+ "ACCEPTED",
+ "INVALID_BLOCK_HASH"
+ ]
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "engine_newPayloadV1 example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ }
+ },
+ {
+ "name": "engine_newPayloadV1 invalid example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "blockNumber": "0x1",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0x0",
+ "timestamp": "0x5",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": []
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "INVALID",
+ "latestValidHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "validationError": "New payload is invalid"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_newPayloadV2",
+ "summary": "Runs execution payload validation",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_newpayloadv2"
+ },
+ "params": [
+ {
+ "name": "Execution payload",
+ "required": true,
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Execution payload object V1",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ {
+ "title": "Execution payload object V2",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "schema": {
+ "title": "Payload status object deprecating INVALID_BLOCK_HASH status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING",
+ "ACCEPTED"
+ ]
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -32602,
+ "message": "Invalid params"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_newPayloadV2 example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_newPayloadV3",
+ "summary": "Runs execution payload validation",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#engine_newpayloadv3"
+ },
+ "params": [
+ {
+ "name": "Execution payload",
+ "required": true,
+ "schema": {
+ "title": "Execution payload object V3",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ },
+ {
+ "name": "Root of the parent beacon block",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "schema": {
+ "title": "Payload status object deprecating INVALID_BLOCK_HASH status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING",
+ "ACCEPTED"
+ ]
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -32602,
+ "message": "Invalid params"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_newPayloadV3 example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0"
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "value": [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ },
+ {
+ "name": "Root of the parent beacon block",
+ "value": "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52"
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_newPayloadV4",
+ "summary": "Runs execution payload validation",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/prague.md#engine_newpayloadv4"
+ },
+ "params": [
+ {
+ "name": "Execution payload",
+ "required": true,
+ "schema": {
+ "title": "Execution payload object V3",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ },
+ {
+ "name": "Root of the parent beacon block",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "name": "Execution requests",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "schema": {
+ "title": "Payload status object deprecating INVALID_BLOCK_HASH status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING",
+ "ACCEPTED"
+ ]
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -32602,
+ "message": "Invalid params"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_newPayloadV4 example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x64e7785b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0"
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "value": [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ },
+ {
+ "name": "Root of the parent beacon block",
+ "value": "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52"
+ },
+ {
+ "name": "Execution requests",
+ "value": [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d098daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a7553"
+ ]
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "engine_newPayloadV5",
+ "summary": "Runs execution payload validation",
+ "externalDocs": {
+ "description": "Method specification",
+ "url": "https://github.com/ethereum/execution-apis/blob/main/src/engine/amsterdam.md#engine_newpayloadv5"
+ },
+ "params": [
+ {
+ "name": "Execution payload",
+ "required": true,
+ "schema": {
+ "title": "Execution payload object V4",
+ "type": "object",
+ "required": [
+ "parentHash",
+ "feeRecipient",
+ "stateRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "prevRandao",
+ "blockNumber",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "baseFeePerGas",
+ "blockHash",
+ "transactions",
+ "withdrawals",
+ "blobGasUsed",
+ "excessBlobGas",
+ "blockAccessList"
+ ],
+ "properties": {
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "feeRecipient": {
+ "title": "Recipient of transaction priority fees",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "prevRandao": {
+ "title": "Previous randao value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "blockHash": {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactions": {
+ "title": "Transactions",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "title": "Withdrawal object V1",
+ "type": "object",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "properties": {
+ "index": {
+ "title": "Withdrawal index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "Validator index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "Withdrawal address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "Withdrawal amount",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ }
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "blockAccessList": {
+ "title": "Block access list",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ },
+ {
+ "name": "Parent beacon block root",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "name": "Execution requests",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "schema": {
+ "title": "Payload status object deprecating INVALID_BLOCK_HASH status",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "title": "Payload validation status",
+ "type": "string",
+ "enum": [
+ "VALID",
+ "INVALID",
+ "SYNCING",
+ "ACCEPTED"
+ ]
+ },
+ "latestValidHash": {
+ "title": "The hash of the most recent valid block",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "validationError": {
+ "title": "Validation error message",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -32602,
+ "message": "Invalid params"
+ },
+ {
+ "code": -38005,
+ "message": "Unsupported fork"
+ }
+ ],
+ "examples": [
+ {
+ "name": "engine_newPayloadV5 example",
+ "params": [
+ {
+ "name": "Execution payload",
+ "value": {
+ "parentHash": "0x3b8fb240d288781d4aac94d3fd16809ee413bc99294a085798a589dae51ddd4a",
+ "feeRecipient": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "stateRoot": "0xca3149fa9e37db08d1cd49c9061db1002ef1cd58db2210f2115c8c989b2bdf45",
+ "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "prevRandao": "0xc130d5e63c61c935f6089e61140ca9136172677cf6aa5800dcc1cf0a02152a14",
+ "blockNumber": "0x112720f",
+ "gasLimit": "0x1c9c380",
+ "gasUsed": "0xbad2e8",
+ "timestamp": "0x673b0a3b",
+ "extraData": "0x",
+ "baseFeePerGas": "0x7",
+ "blockHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "transactions": [
+ "0x03f88f0780843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a0010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401401a0840650aa8f74d2b07f40067dc33b715078d73422f01da17abdbd11e02bbdfda9a04b2260f6022bf53eadb337b3e59514936f7317d872defb891a708ee279bdca90",
+ "0x03f88f0701843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001521d528ad0c760354a4f0496776cf14a92fe1fb5d50e959dcea1a489c7c83101a0a86c1fd8c2e74820686937f5c1bfe836e2fb622ac9fcbebdc4ab4357f2dbbc61a05c3b2b44ff8252f78d70aeb33f8ba09beaeadad1b376a57d34fa720bbc4a18ee",
+ "0x03f88f0702843b9aca008506fc23ac00830186a09400000000000000000000000000000000000001008080c001e1a001453362c360fdd8832e3539d463e6d64b2ee320ac6a08885df6083644a063e701a037a728aec08aefffa702a2ca620db89caf3e46ab7f25f7646fc951510991badca065d846f046357af39bb739b161233fce73ddfe0bb87f2d28ef60dfe6dbb0128d"
+ ],
+ "withdrawals": [
+ {
+ "index": "0xf0",
+ "validatorIndex": "0xf0",
+ "address": "0x00000000000000000000000000000000000010f0",
+ "amount": "0x1"
+ },
+ {
+ "index": "0xf1",
+ "validatorIndex": "0xf1",
+ "address": "0x00000000000000000000000000000000000010f1",
+ "amount": "0x1"
+ }
+ ],
+ "blobGasUsed": "0x20000",
+ "excessBlobGas": "0x0",
+ "blockAccessList": "0xf90244f90241f8f79400000000000000000000000000000000000001f8e8f843a00000000000000000000000000000000000000000000000000000000000000000f838c22080a00000000000000000000000000000000000000000000000000000000000000000c22180a00000000000000000000000000000000000000000000000000000000000000001f843a00000000000000000000000000000000000000000000000000000000000000001f838c22080a00000000000000000000000000000000000000000000000000000000000000100c22180a00000000000000000000000000000000000000000000000000000000000000200c780c22180c680c221890056bc75e2d63100000c080c22180f90145f90142f8f794a94f5374fce5edbc8e2a8697c15331677e6ebf0bf8e8f843a00000000000000000000000000000000000000000000000000000000000000000f838c22080a00000000000000000000000000000000000000000000000000000000000000000c22180a00000000000000000000000000000000000000000000000000000000000000100f843a00000000000000000000000000000000000000000000000000000000000000001f838c22080a00000000000000000000000000000000000000000000000000000000000000200c22180a00000000000000000000000000000000000000000000000000000000000000300c780c22180c680c2218901152d02c7e14af680c080c22180"
+ }
+ },
+ {
+ "name": "Expected blob versioned hashes",
+ "value": [
+ "0x000657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"
+ ]
+ },
+ {
+ "name": "Parent beacon block root",
+ "value": "0x169630f535b4a41330164c6e5c92b1224c0c407f582d407d0ac3d206cd32fd52"
+ },
+ {
+ "name": "Execution requests",
+ "value": [
+ "0x96a96086cff07df17668f35f7418ef8798079167e3f4f9b72ecde17b28226137cf454ab1dd20ef5d924786ab3483c2f9003f5102dabe0a27b1746098d1dc17a5d3fbd478759fea9287e4e419b3c3cef20100000000000000b1acdb2c4d3df3f1b8d3bfd33421660df358d84d78d16c4603551935f4b67643373e7eb63dcb16ec359be0ec41fee33b03a16e80745f2374ff1d3c352508ac5d857c6476d3c3bcf7e6ca37427c9209f17be3af5264c0e2132b3dd1156c28b4e9f000000000000000a5c85a60ba2905c215f6a12872e62b1ee037051364244043a5f639aa81b04a204c55e7cc851f29c7c183be253ea1510b001db70c485b6264692f26b8aeaab5b0c384180df8e2184a21a808a3ec8e86ca01000000000000009561731785b48cf1886412234531e4940064584463e96ac63a1a154320227e333fb51addc4a89b7e0d3f862d7c1fd4ea03bd8eb3d8806f1e7daf591cbbbb92b0beb74d13c01617f22c5026b4f9f9f294a8a7c32db895de3b01bee0132c9209e1f100000000000000",
+ "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b85103a5617937691dfeeb89b86a80d5dc9e3c9d3a1a0e7ce311e26e0bb732eabaa47ffa288f0d54de28209a62a7d29d0000000000000000000000000000000000000000000000000000010f698daeed734da114470da559bd4b4c7259e1f7952555241dcbc90cf194a2ef676fc6005f3672fada2a3645edb297a75530100000000000000"
+ ]
+ }
+ ],
+ "result": {
+ "name": "Payload status",
+ "value": {
+ "status": "VALID",
+ "latestValidHash": "0x3559e851470f6e7bbed1db474980683e8c315bfce99b2a6ef47c057c04de7858",
+ "validationError": null
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_accounts",
+ "summary": "Returns a list of addresses owned by client.",
+ "params": [],
+ "result": {
+ "name": "Accounts",
+ "schema": {
+ "title": "Accounts",
+ "type": "array",
+ "items": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_accounts example",
+ "params": [],
+ "result": {
+ "name": "Accounts",
+ "value": [
+ "0xd1f5279be4b4dd94133a23dee1b23f5bfc0db1d0"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_blobBaseFee",
+ "summary": "Returns the base fee per blob gas in wei.",
+ "params": [],
+ "result": {
+ "name": "Blob gas base fee",
+ "schema": {
+ "title": "Blob gas base fee",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_blobBaseFee example",
+ "params": [],
+ "result": {
+ "name": "Blob gas base fee",
+ "value": "0x3f5694c1f"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_blockNumber",
+ "summary": "Returns the number of most recent block.",
+ "params": [],
+ "result": {
+ "name": "Block number",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_blockNumber example",
+ "params": [],
+ "result": {
+ "name": "Block number",
+ "value": "0x2377"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_call",
+ "summary": "Executes a new message call immediately without creating a transaction on the block chain.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Transaction object generic to all types",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "blobs": {
+ "title": "blobs",
+ "description": "Raw blob data.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "EIP-7702 authorization list",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "Block",
+ "required": false,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Return data",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "errors": [
+ {
+ "code": 3,
+ "message": "execution reverted",
+ "data": {
+ "title": "raw EVM revert data",
+ "$ref": "#/components/schemas/bytes"
+ }
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_call example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": {
+ "to": "0x69498dd54bd25aa0c886cf1f8b8ae0856d55ff13",
+ "value": "0x1"
+ }
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Return data",
+ "value": "0x"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_chainId",
+ "summary": "Returns the chain ID of the current network.",
+ "params": [],
+ "result": {
+ "name": "Chain ID",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_chainId example",
+ "params": [],
+ "result": {
+ "name": "Chain ID",
+ "value": "0x1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_coinbase",
+ "summary": "Returns the client coinbase address.",
+ "params": [],
+ "result": {
+ "name": "Coinbase address",
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_coinbase example",
+ "params": [],
+ "result": {
+ "name": "Coinbase address",
+ "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_createAccessList",
+ "summary": "Generates an access list for a transaction.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Transaction object generic to all types",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "blobs": {
+ "title": "blobs",
+ "description": "Raw blob data.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "EIP-7702 authorization list",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "Block",
+ "required": false,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Gas used",
+ "schema": {
+ "title": "Access list result",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "error": {
+ "title": "error",
+ "type": "string"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_createAccessList example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": {
+ "from": "0xaea8f8f781326bfe6a7683c2bd48dd6aa4d3ba63",
+ "data": "0x608060806080608155"
+ }
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Gas used",
+ "value": {
+ "accessList": [
+ {
+ "address": "0xa02457e5dfd32bda5fc7e1f1b008aa5979568150",
+ "storageKeys": [
+ "0x0000000000000000000000000000000000000000000000000000000000000081"
+ ]
+ }
+ ],
+ "gasUsed": "0x125f8"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_estimateGas",
+ "summary": "Generates and returns an estimate of how much gas is necessary to allow the transaction to complete.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Transaction object generic to all types",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "blobs": {
+ "title": "blobs",
+ "description": "Raw blob data.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "EIP-7702 authorization list",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "Block",
+ "required": false,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Gas used",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "errors": [
+ {
+ "code": 3,
+ "message": "execution reverted",
+ "data": {
+ "title": "raw EVM revert data",
+ "$ref": "#/components/schemas/bytes"
+ }
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_estimateGas example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": {
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "to": "0x44aa93095d6749a706051658b970b941c72c1d53",
+ "value": "0x1"
+ }
+ }
+ ],
+ "result": {
+ "name": "Gas used",
+ "value": "0x5208"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_feeHistory",
+ "summary": "Transaction fee history",
+ "description": "Returns transaction base fee per gas and effective priority fee per gas for the requested/supported block range.",
+ "params": [
+ {
+ "name": "blockCount",
+ "description": "Requested range of blocks. Clients will return less than the requested range if not all blocks are available.",
+ "required": true,
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ {
+ "name": "newestBlock",
+ "description": "Highest block of the requested range.",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ },
+ {
+ "name": "rewardPercentiles",
+ "description": "A monotonically increasing list of percentile values. For each block in the requested range, the transactions will be sorted in ascending order by effective tip per gas and the corresponding effective tip for the percentile will be determined, accounting for gas consumed.",
+ "required": true,
+ "schema": {
+ "title": "rewardPercentiles",
+ "type": "array",
+ "items": {
+ "title": "rewardPercentile",
+ "description": "Floating point value between 0 and 100.",
+ "type": "number"
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Fee history result",
+ "description": "Fee history for the returned block range. This can be a subsection of the requested range if not all blocks are available.",
+ "schema": {
+ "title": "feeHistoryResults",
+ "description": "Fee history results.",
+ "type": "object",
+ "required": [
+ "oldestBlock",
+ "baseFeePerGas",
+ "gasUsedRatio"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "oldestBlock": {
+ "title": "oldestBlock",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Lowest number block of returned range."
+ },
+ "baseFeePerGas": {
+ "title": "baseFeePerGasArray",
+ "description": "An array of block base fees per gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-1559 blocks.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "baseFeePerBlobGas": {
+ "title": "baseFeePerBlobGasArray",
+ "description": "An array of block base fees per blob gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-4844 blocks.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "gasUsedRatio": {
+ "title": "gasUsedRatio",
+ "description": "An array of block gas used ratios. These are calculated as the ratio of gasUsed and gasLimit.",
+ "type": "array",
+ "items": {
+ "title": "normalized ratio",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ }
+ },
+ "blobGasUsedRatio": {
+ "title": "blobGasUsedRatio",
+ "description": "An array of block blob gas used ratios. These are calculated as the ratio of blobGasUsed and the max blob gas per block.",
+ "type": "array",
+ "items": {
+ "title": "normalized ratio",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ }
+ },
+ "reward": {
+ "title": "rewardArray",
+ "description": "A two-dimensional array of effective priority fees per gas at the requested block percentiles.",
+ "type": "array",
+ "items": {
+ "title": "rewardPercentile",
+ "description": "An array of effective priority fee per gas data points from a single block. All zeroes are returned if the block is empty.",
+ "type": "array",
+ "items": {
+ "title": "rewardPercentile",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "A given percentile sample of effective priority fees per gas from a single block in ascending order, weighted by gas used. Zeroes are returned if the block is empty."
+ }
+ }
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_feeHistory example",
+ "params": [
+ {
+ "name": "blockCount",
+ "value": "0x5"
+ },
+ {
+ "name": "newestblock",
+ "value": "latest"
+ },
+ {
+ "name": "rewardPercentiles",
+ "value": [
+ 20,
+ 30
+ ]
+ }
+ ],
+ "result": {
+ "name": "Fee history result",
+ "value": {
+ "oldestblock": "0x10b52f",
+ "baseFeePerGas": [
+ "0x3fa63a3f",
+ "0x37f999ee",
+ "0x3e36f20a",
+ "0x4099f79a",
+ "0x430d532d",
+ "0x46fcd4a4"
+ ],
+ "baseFeePerBlobGas": [
+ "0x7b7609c19",
+ "0x6dbe41789",
+ "0x7223341d4",
+ "0x6574a002c",
+ "0x7223341d4",
+ "0x6574a002c"
+ ],
+ "gasUsedRatio": [
+ 0.017712333333333333,
+ 0.9458865666666667,
+ 0.6534561,
+ 0.6517375666666667,
+ 0.7347769666666667
+ ],
+ "blobGasUsedRatio": [
+ 0,
+ 0.6666666666666666,
+ 0,
+ 1,
+ 0
+ ],
+ "reward": [
+ [
+ "0x3b9aca00",
+ "0x59682f00"
+ ],
+ [
+ "0x3a13012",
+ "0x3a13012"
+ ],
+ [
+ "0x3a13012",
+ "0x3a13012"
+ ],
+ [
+ "0xf4240",
+ "0xf4240"
+ ],
+ [
+ "0xf4240",
+ "0xf4240"
+ ]
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_gasPrice",
+ "summary": "Returns the current price per gas in wei.",
+ "params": [],
+ "result": {
+ "name": "Gas price",
+ "schema": {
+ "title": "Gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_gasPrice example",
+ "params": [],
+ "result": {
+ "name": "Gas price",
+ "value": "0x3e8"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBalance",
+ "summary": "Returns the balance of the account of given address.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Balance",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getBalance example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Balance",
+ "value": "0x1cfe56f3795885980000"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBlockByHash",
+ "summary": "Returns information about a block by hash.",
+ "params": [
+ {
+ "name": "Block hash",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "name": "Hydrated transactions",
+ "required": true,
+ "schema": {
+ "title": "hydrated",
+ "type": "boolean"
+ }
+ }
+ ],
+ "result": {
+ "name": "Block information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Block object",
+ "type": "object",
+ "required": [
+ "hash",
+ "parentHash",
+ "sha3Uncles",
+ "miner",
+ "stateRoot",
+ "transactionsRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "number",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "mixHash",
+ "nonce",
+ "size",
+ "transactions",
+ "uncles"
+ ],
+ "properties": {
+ "hash": {
+ "title": "Hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "sha3Uncles": {
+ "title": "Ommers hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "miner": {
+ "title": "Coinbase",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionsRoot": {
+ "title": "Transactions root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "difficulty": {
+ "title": "Difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "number": {
+ "title": "Number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "mixHash": {
+ "title": "Mix hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "withdrawalsRoot": {
+ "title": "Withdrawals root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "parentBeaconBlockRoot": {
+ "title": "Parent Beacon Block Root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "size": {
+ "title": "Block size",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactions": {
+ "anyOf": [
+ {
+ "title": "Transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "Full transactions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Validator withdrawal",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "index": {
+ "title": "index of withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "index of validator that generated withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "recipient address for withdrawal value",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "value contained in withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "uncles": {
+ "title": "Uncles",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "requestsHash": {
+ "title": "EIP-7685 requests hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getBlockByHash example",
+ "params": [
+ {
+ "name": "Block hash",
+ "value": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c"
+ },
+ {
+ "name": "Hydrated transactions",
+ "value": false
+ }
+ ],
+ "result": {
+ "name": "Block information",
+ "value": {
+ "number": "0x68b3",
+ "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d",
+ "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d",
+ "nonce": "0x378da40ff335b070",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000",
+ "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126",
+ "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233",
+ "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a",
+ "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d",
+ "difficulty": "0x66e619a",
+ "extraData": "0xd583010502846765746885676f312e37856c696e7578",
+ "size": "0x334",
+ "gasLimit": "0x47e7c4",
+ "gasUsed": "0x37993",
+ "timestamp": "0x5835c54d",
+ "uncles": [],
+ "transactions": [
+ "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc",
+ "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d"
+ ],
+ "baseFeePerGas": "0x7",
+ "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f",
+ "withdrawals": [
+ {
+ "index": "0x0",
+ "validatorIndex": "0x9d8c0",
+ "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
+ "amount": "0x11a33e3760"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0",
+ "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBlockByNumber",
+ "summary": "Returns information about a block by number.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ },
+ {
+ "name": "Hydrated transactions",
+ "required": true,
+ "schema": {
+ "title": "hydrated",
+ "type": "boolean"
+ }
+ }
+ ],
+ "result": {
+ "name": "Block information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Block object",
+ "type": "object",
+ "required": [
+ "hash",
+ "parentHash",
+ "sha3Uncles",
+ "miner",
+ "stateRoot",
+ "transactionsRoot",
+ "receiptsRoot",
+ "logsBloom",
+ "number",
+ "gasLimit",
+ "gasUsed",
+ "timestamp",
+ "extraData",
+ "mixHash",
+ "nonce",
+ "size",
+ "transactions",
+ "uncles"
+ ],
+ "properties": {
+ "hash": {
+ "title": "Hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "sha3Uncles": {
+ "title": "Ommers hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "miner": {
+ "title": "Coinbase",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionsRoot": {
+ "title": "Transactions root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "difficulty": {
+ "title": "Difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "number": {
+ "title": "Number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "mixHash": {
+ "title": "Mix hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "withdrawalsRoot": {
+ "title": "Withdrawals root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "parentBeaconBlockRoot": {
+ "title": "Parent Beacon Block Root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "size": {
+ "title": "Block size",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactions": {
+ "anyOf": [
+ {
+ "title": "Transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "Full transactions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Validator withdrawal",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "index": {
+ "title": "index of withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "index of validator that generated withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "recipient address for withdrawal value",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "value contained in withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "uncles": {
+ "title": "Uncles",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "requestsHash": {
+ "title": "EIP-7685 requests hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getBlockByNumber example",
+ "params": [
+ {
+ "name": "block",
+ "value": "0x68b3"
+ },
+ {
+ "name": "Hydrated transactions",
+ "value": false
+ }
+ ],
+ "result": {
+ "name": "Block information",
+ "value": {
+ "number": "0x68b3",
+ "hash": "0xd5f1812548be429cbdc6376b29611fc49e06f1359758c4ceaaa3b393e2239f9c",
+ "mixHash": "0x24900fb3da77674a861c428429dce0762707ecb6052325bbd9b3c64e74b5af9d",
+ "parentHash": "0x1f68ac259155e2f38211ddad0f0a15394d55417b185a93923e2abe71bb7a4d6d",
+ "nonce": "0x378da40ff335b070",
+ "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "logsBloom": "0x00000000000000100000004080000000000500000000000000020000100000000800001000000004000001000000000000000800040010000020100000000400000010000000000000000040000000000000040000000000000000000000000000000400002400000000000000000000000000000004000004000000000000840000000800000080010004000000001000000800000000000000000000000000000000000800000000000040000000020000000000000000000800000400000000000000000000000600000400000000002000000000000000000000004000000000000000100000000000000000000000000000000000040000900010000000",
+ "transactionsRoot": "0x4d0c8e91e16bdff538c03211c5c73632ed054d00a7e210c0eb25146c20048126",
+ "stateRoot": "0x91309efa7e42c1f137f31fe9edbe88ae087e6620d0d59031324da3e2f4f93233",
+ "receiptsRoot": "0x68461ab700003503a305083630a8fb8d14927238f0bc8b6b3d246c0c64f21f4a",
+ "miner": "0xb42b6c4a95406c78ff892d270ad20b22642e102d",
+ "difficulty": "0x66e619a",
+ "extraData": "0xd583010502846765746885676f312e37856c696e7578",
+ "size": "0x334",
+ "gasLimit": "0x47e7c4",
+ "gasUsed": "0x37993",
+ "timestamp": "0x5835c54d",
+ "uncles": [],
+ "transactions": [
+ "0xa0807e117a8dd124ab949f460f08c36c72b710188f01609595223b325e58e0fc",
+ "0xeae6d797af50cb62a596ec3939114d63967c374fa57de9bc0f4e2b576ed6639d"
+ ],
+ "baseFeePerGas": "0x7",
+ "withdrawalsRoot": "0x7a4ecf19774d15cf9c15adf0dd8e8a250c128b26c9e2ab2a08d6c9c8ffbd104f",
+ "withdrawals": [
+ {
+ "index": "0x0",
+ "validatorIndex": "0x9d8c0",
+ "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
+ "amount": "0x11a33e3760"
+ }
+ ],
+ "blobGasUsed": "0x0",
+ "excessBlobGas": "0x0",
+ "parentBeaconBlockRoot": "0x95c4dbd5b19f6fe3cbc3183be85ff4e85ebe75c5b4fc911f1c91e5b7a554a685"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBlockReceipts",
+ "summary": "Returns the receipts of a block by number or hash.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Receipts information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Receipts information",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Receipt information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "cumulativeGasUsed",
+ "gasUsed",
+ "logs",
+ "logsBloom",
+ "transactionHash",
+ "transactionIndex",
+ "effectiveGasPrice"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "to": {
+ "title": "to",
+ "description": "Address of the receiver or null in a contract creation transaction.",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Recipient Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "cumulativeGasUsed": {
+ "title": "cumulative gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The sum of gas used by this transaction and all preceding transactions in the same block."
+ },
+ "gasUsed": {
+ "title": "gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The amount of gas used for this specific transaction alone."
+ },
+ "blobGasUsed": {
+ "title": "blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844."
+ },
+ "contractAddress": {
+ "title": "contract address",
+ "description": "The contract address created, if the transaction was a contract creation, otherwise null.",
+ "oneOf": [
+ {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Null",
+ "type": "null"
+ }
+ ]
+ },
+ "logs": {
+ "title": "logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "logsBloom": {
+ "title": "logs bloom",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "root": {
+ "title": "state root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$",
+ "description": "The post-transaction state root. Only specified for transactions included before the Byzantium upgrade."
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade."
+ },
+ "effectiveGasPrice": {
+ "title": "effective gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas)."
+ },
+ "blobGasPrice": {
+ "title": "blob gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844."
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getBlockReceipts example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Receipts information",
+ "value": [
+ {
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "blockNumber": "0x6f55",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x18c36",
+ "from": "0x22896bfc68814bfd855b1a167255ee497006e730",
+ "gasUsed": "0x18c36",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x9502f907",
+ "blobGasPrice": "0x32",
+ "logs": [
+ {
+ "address": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350",
+ "topics": [
+ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
+ "0x4be29e0e4eb91f98f709d98803cba271592782e293b84a625e025cbb40197ba8",
+ "0x000000000000000000000000835281a2563db4ebf1b626172e085dc406bfc7d2",
+ "0x00000000000000000000000022896bfc68814bfd855b1a167255ee497006e730"
+ ],
+ "data": "0x",
+ "blockNumber": "0x6f55",
+ "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975",
+ "transactionIndex": "0x0",
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "logIndex": "0x0",
+ "removed": false
+ }
+ ],
+ "logsBloom": "0x00000004000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000080020000000000000200010000000000000000000001000000800000000000000000000000000000000000000000000000000000100100000000000000000000008000000000000000000000000000000002000000000000000000000",
+ "status": "0x1",
+ "to": "0xfd584430cafa2f451b4e2ebcf3986a21fff04350",
+ "transactionHash": "0x4a481e4649da999d92db0585c36cba94c18a33747e95dc235330e6c737c6f975",
+ "transactionIndex": "0x0",
+ "type": "0x0"
+ },
+ {
+ "blockHash": "0x19514ce955c65e4dd2cd41f435a75a46a08535b8fc16bc660f8092b32590b182",
+ "blockNumber": "0x6f55",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x1de3e",
+ "from": "0x712e3a792c974b3e3dbe41229ad4290791c75a82",
+ "gasUsed": "0x5208",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x9502f907",
+ "blobGasPrice": "0x32",
+ "logs": [],
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "status": "0x1",
+ "to": "0xd42e2b1c14d02f1df5369a9827cb8e6f3f75f338",
+ "transactionHash": "0xefb83b4e3f1c317e8da0f8e2fbb2fe964f34ee184466032aeecac79f20eacaf6",
+ "transactionIndex": "0x1",
+ "type": "0x2"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBlockTransactionCountByHash",
+ "summary": "Returns the number of transactions in a block from a block matching the given block hash.",
+ "params": [
+ {
+ "name": "Block hash",
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction count",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Transaction count",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getBlockTransactionCountByHash example",
+ "params": [
+ {
+ "name": "Block hash",
+ "value": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
+ }
+ ],
+ "result": {
+ "name": "Transaction count",
+ "value": "0x8"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getBlockTransactionCountByNumber",
+ "summary": "Returns the number of transactions in a block matching the given block number.",
+ "params": [
+ {
+ "name": "Block",
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction count",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Transaction count",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getBlockTransactionCountByNumber example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0xe8"
+ }
+ ],
+ "result": {
+ "name": "Transaction count",
+ "value": "0x8"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getCode",
+ "summary": "Returns code at a given address.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Bytecode",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getCode example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0xa50a51c09a5c451c52bb714527e1974b686d8e77"
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Bytecode",
+ "value": "0x60806040526004361060485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633fa4f2458114604d57806355241077146071575b600080fd5b348015605857600080fd5b50605f6088565b60408051918252519081900360200190f35b348015607c57600080fd5b506086600435608e565b005b60005481565b60008190556040805182815290517f199cd93e851e4c78c437891155e2112093f8f15394aa89dab09e38d6ca0727879181900360200190a1505600a165627a7a723058209d8929142720a69bde2ab3bfa2da6217674b984899b62753979743c0470a2ea70029"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getFilterChanges",
+ "summary": "Polling method for the filter with the given ID (created using `eth_newFilter`). Returns an array of logs, block hashes, or transaction hashes since last poll, depending on the installed filter.",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "required": true
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "schema": {
+ "title": "Filter results",
+ "oneOf": [
+ {
+ "title": "new block or transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "new logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getFilterChanges example",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "value": [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "blockTimestamp": "0x11",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "blockTimestamp": "0x22",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getFilterLogs",
+ "summary": "Returns an array of all logs matching the filter with the given ID (created using `eth_newFilter`).",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "required": true
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "schema": {
+ "title": "Filter results",
+ "oneOf": [
+ {
+ "title": "new block or transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "new logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getFilterLogs example",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "value": [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockTimestamp": "0x11",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockTimestamp": "0x22",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getLogs",
+ "summary": "Returns an array of all logs matching the specified filter.",
+ "params": [
+ {
+ "name": "Filter",
+ "schema": {
+ "title": "filter",
+ "type": "object",
+ "oneOf": [
+ {
+ "title": "Filter by block range",
+ "type": "object",
+ "properties": {
+ "fromBlock": {
+ "title": "from block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "toBlock": {
+ "title": "to block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "Address(es)",
+ "oneOf": [
+ {
+ "title": "Any Address",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Addresses",
+ "type": "array",
+ "items": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ ]
+ },
+ "topics": {
+ "title": "Topics",
+ "oneOf": [
+ {
+ "title": "Any Topic Match",
+ "type": "null"
+ },
+ {
+ "title": "Specified Filter Topics",
+ "type": "array",
+ "items": {
+ "title": "Filter Topic List Entry",
+ "oneOf": [
+ {
+ "title": "Single Topic Match",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ {
+ "title": "Multiple Topic Match",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "title": "Filter by block hash",
+ "type": "object",
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "address": {
+ "title": "Address(es)",
+ "oneOf": [
+ {
+ "title": "Any Address",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Addresses",
+ "type": "array",
+ "items": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ ]
+ },
+ "topics": {
+ "title": "Topics",
+ "oneOf": [
+ {
+ "title": "Any Topic Match",
+ "type": "null"
+ },
+ {
+ "title": "Specified Filter Topics",
+ "type": "array",
+ "items": {
+ "title": "Filter Topic List Entry",
+ "oneOf": [
+ {
+ "title": "Single Topic Match",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ {
+ "title": "Multiple Topic Match",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "blockHash"
+ ]
+ }
+ ],
+ "additionalProperties": false
+ },
+ "required": true
+ }
+ ],
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "schema": {
+ "title": "Filter results",
+ "oneOf": [
+ {
+ "title": "new block or transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "new logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getLogs example",
+ "params": [
+ {
+ "name": "Filter",
+ "value": {
+ "fromBlock": "0x137d3c2",
+ "toBlock": "0x137d3c3",
+ "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "topics": []
+ }
+ }
+ ],
+ "result": {
+ "name": "Log objects",
+ "value": [
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x233",
+ "blockTimestamp": "0x11",
+ "blockHash": "0xfc139f5e2edee9e9c888d8df9a2d2226133a9bd87c88ccbd9c930d3d4c9f9ef5",
+ "transactionHash": "0x66e7a140c8fa27fe98fde923defea7562c3ca2d6bb89798aabec65782c08f63d",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ },
+ {
+ "logIndex": "0x0",
+ "removed": false,
+ "blockNumber": "0x238",
+ "blockTimestamp": "0x22",
+ "blockHash": "0x98b0ec0f9fea0018a644959accbe69cd046a8582e89402e1ab0ada91cad644ed",
+ "transactionHash": "0xdb17aa1c2ce609132f599155d384c0bc5334c988a6c368056d7e167e23eee058",
+ "transactionIndex": "0x0",
+ "address": "0x42699a7612a82f1d9c36148af9c77354759b210b",
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "topics": [
+ "0x04474795f5b996ff80cb47c148d4c5ccdbe09ef27551820caa9c2f8ed149cce3"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getProof",
+ "summary": "Returns the merkle proof for a given account and optionally some storage keys.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "StorageKeys",
+ "required": true,
+ "schema": {
+ "title": "Storage keys",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ }
+ }
+ },
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Account",
+ "schema": {
+ "title": "Account proof",
+ "type": "object",
+ "required": [
+ "address",
+ "accountProof",
+ "balance",
+ "codeHash",
+ "nonce",
+ "storageHash",
+ "storageProof"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "accountProof": {
+ "title": "accountProof",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "balance": {
+ "title": "balance",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "codeHash": {
+ "title": "codeHash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "storageHash": {
+ "title": "storageHash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "storageProof": {
+ "title": "Storage proofs",
+ "type": "array",
+ "items": {
+ "title": "Storage proof",
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "proof"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "key": {
+ "title": "key",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "proof": {
+ "title": "proof",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getProof example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8"
+ },
+ {
+ "name": "StorageKeys",
+ "value": [
+ "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
+ ]
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Account",
+ "value": {
+ "address": "0xe5cB067E90D5Cd1F8052B83562Ae670bA4A211a8",
+ "accountProof": [
+ "0xf90211a06a718c2c9da77c253b12d7b2569657901e37bb691718f5dda1b86157ab1dd5eda0e7f19ed5e21bccc8d3260236b24f80ad88b3634f5d005f37b838881f0e12f1bda0abb301291704e4d92686c0f5f8ebb1734185321559b8d717ffdca95c99591976a0d0c2026bfab65c3b95276bfa82af9dec860b485f8857f293c148d63a2182128fa0c98044ec9a1273a218bed58b478277dd39173ad7b8edb95c200423a6bc8fc25fa056e5a55d9ddccdbf49362857200bbb1f042d61187c9f5f9ddcff5d2f1fc984a2a02a5b7200af424114f99a4b5f0a21c19aac82209e431ed80bfde177adb1004bdfa0026e4374f0518ff44a80fa374838ecb86cc64ac93bb710fea6dff4198f947b27a03fea341d87984673ad523177ed52f278bf4d8f97e6531c8ece932aeede4802f4a0bfe2f4a7fcb78f7e9f080dea7b6977fb1d88c441696e4456dad92b9d34ff0f43a02a3eb5c0edb14626c9c629601027bd60178bb2b688a67cea4d179fc432436615a0747355b8e02f3b884b4ffe5cea1619e32515fea064cca98208591af8c744e894a0874253737bae37f020ad3bb7e3292c7c4a63cdc158af6b33aaa4deaef016dccba03d8192bc1fc6aa1548912e763a0b5013a94399cefad7b47cf388873b2b794068a09b67f9737c6028d796bfd1c5da57a6f45824dc891f848ea0e1f8019d1fb5fba8a0aa871f9de8da85960fcd8a22cdf21c27f11e3966c14a6737ffd414b98dda00b280",
+ "0xf90211a0d360be1e1da1a0c32bc4c105833bd531e59d110684007b7c50fb2709002973eca0cf6dd1e350a7031b4e2ab49c899fd8bd47551c8565d8fd8d1d7796c83820c3b1a0eb0a88c29bb33989a589156f7bf07d9efc74034dd9d3f5b73385c3b45c3249bea02783c25f97a6ddb8dc07adf4b176991836d39184b1f678adeda832fff15e3664a00a4e288060045e587774d8a64993a7add73068b16863145e1e8eeb4602e18e19a0340851f4046ad1298962d6e47d05c66329549c839c158748aaad7ae00b943aefa085b127bc2a3bd17604283de21b2b3c9aa8f1d4b7b85c94d8105a46fe32c77688a00f531d62b3c5435324c01009c284fe31277e8d38302b75ea01be89f09e205969a00011c8351c0e3d639ac54b9d3a59de630b16a67de8270d7d6064d0a67e93f9cca048780d32b7f2db88650b51c46f46fd0a68795edee1fd5ecee6eb3595741d9669a0c91afd74eaf8e08a997061a62b354e2516fdc494e8e26cc50ceeb8f4a175608ba0e2c07f1b48fab80eecb340f5882e8c7b32ee416e4045c61f1df646a133487303a01a1eff78435a7a29a29463bdc3486ae81364b00bea82ba0fdf67a110770f2261a04f2eb440ba71c72da5fd7f0e439018d6671dc809f747213a1ea755848124e994a074ff9f37fce99daa3ed01dd763076450022996fc729be2cc43c61ec5182c2366a0b80b36b7b621112592f52390b89748d422e9b1517c4b0203b8176a53f89d4a6680",
+ "0xf90211a0b25f283bd01a8c8b2418049f9585bc37ff2c1e2e12eab4b7f64ae1f26647389aa02ad96c150d7c3c9c194d30315456852cf6a0a940e0191ae5d04007454823d4e9a0b220cf7a855e2dbcc0b973134e2e119b982d7d40dbb1b27d99816c41f40e829aa049224431da84cbf1b7ae813abcc9ef4c1dfc1760f6ddc5d57f7354bf3cbf6cc4a015191f879ac115b362f0257fd3eedb789537e836574a5b1abf1c9982ebe3bdfea07913c1b6e7282569d2d421e9fa2257f5d1698e93303bc49b941704287d7aaefea0a526576981ce6fd9f2bd48dd2ca6d5272f2fbdc85f0ee35a295f6ccd97ae8765a0313fad407f0c737c29024c02a890c4ecc12d7771c05ab7b435e5087a7cdef4d9a0d2044603cba9d4afdaf6fd2470e729ef3a65242de71276f20d59accfa6b53a7ca0457caacb9370c09b15f7d904adefd2308be94e23669ba5f43241ffff5f438a0aa09fb2dd45a383a0cc088a72b14117e1e9b7d6889218f3ac7631e8de644c5cb76da0c675dcd4d3fb692b514851c6106e2b09e6f5661d56a0a32ae02e2efc1515c235a074949a59ff1bdba87548510d6e404ec4532f4456dfdec8e753d92fda11a3088ba0a328c6ab1ab8f70db4d23e95bb163c13ba0c508f063a5b1393a4efd7ff375f05a0c722fe3ce796998269373cbb2fc229b2bdf2c43c6c2df003309422e043ce6c03a024e69343286eec44fa4744f6907209116e5383cff3fa98fe81ba06e7e8d4366680",
+ "0xf90211a00e99ba2198124b8241ea304551fe973215829e2fbc0438d67922707a2a847432a0bb9ce24fd527879c5fe6dbbec1ef5a05ed9d1ca88e921d140bafbec1112f6a6aa099787fd6c7a1989229c4291ef5267335e66152ce417daea46e66d19cb6f81d1ca0e430ff4b8d5621baa5978673344e78b4d8b4df51431b6e63785267c98a24ce18a0bb3e91a825fe3d42ed270a93e9ad1aabd566c40cb28e622f7f1d7ee967c8afd6a0aa364b0056870c6507bc3262a5f851ecb13684088bdb13996d3cb2db401ce3ffa0a3732eba4c7a6e062665ab5be08acb986c3db87556fb138548cc900ff1e56995a026b088e90c9738b8ce16e853107a937a50d52726a24f9f6ce60f587762eb45a2a006c9d5bc3c064b5c1fb565bff91cace9161c64ae653a329610c1dcf34d434429a06c16df2edc70656d322d0c2403bad7d45bc790ffc3e7adeef856d98ea6afc91ba0ae05ed5d6c34b5da29c2e94d7880aeba0906f95f4ec10b132a1d4766a0701c98a01470a86aa350d1ada0c082eac75de828a851f9c8c7c4aa49b1556fe3a5574966a0334eef025100a6da1033710dd98e0475f29d3d7e397caf618ca71c336c5f4f49a0ef0b3abbebcff34d6a8a8f5cdbfbd154ab3452b58dcb09de58ec983644963675a041857e865ec38e200a13bc1a3cb71c7d69aeef7ffdee8be515c9a5b691ce091fa059edd0eb3bbec36bbf38a19802d4646c00ba821ab55fdeea12e15bab62c4e1e580",
+ "0xf90211a0af0c7fa65ffcb84c31e68c1cf00e1a20bf8bb497c39883e19b66a99975b03431a0c492cab3623eb7926069794c3c718733e16c5fd0d4a13fb7c752ee9809aac7ada05003cea7132aa70d6f36731d60640a90bcd8f4fd493e4540d5ab1b4943679c0ca0fd700683405b1d2306b586dd3b5b2f92f1692fae20d17cd8b8e59d09b9c6670da01db8683910e46e56e8afeb9fe2b7c35382e5a0914d7b0dd8f0e8cb9981ba7435a0fa7f75d73aa73c35824387bec81388315caa4aee3f4f5562f971beb256c62d49a0ee478e420d83f413e8568dacfd5d83f83a5dd7c45f494b504828e5dc962f0e3ea094b95444a917ac94a675681f6bf851172ad0969801a783a63a71edafed45e7a7a0a0c46586e109abe80fe50361dd582e3f143cb416828239faa43bb2b890869501a0ae051d5d43634c68bf9c97823256cc68580f194dfdbd0c301140c7ca5853430ca0660b9365bb77ec9cdc6eb95516c162dca20727c6f828dbbeb1ae110dde4d3134a09feb1b75e84ff6722e4d837bfb6d207b6ee3b21b86844a01140ce293813b49a1a0ed58a70b04efa3bdc0babe2abfa20824a75d61d52291bfdb5cf08597800764d6a020a2d5d3a83f9e35ad9fd1c448626d90af0eb3efefaa4f2f93207b4096ef5507a0fc8efc4484dcf0a54f0574de9aaade0dcff6ec3599edb9f82efb26b6566dcaeaa032f7e79856db3fd984f72bb2c93d4dab328198d355a61c975fab1f08bdb2046580"
+ ],
+ "balance": "0x0",
+ "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "nonce": "0x0",
+ "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "storageProof": [
+ {
+ "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "proof": [
+ "0xf90211a0c87222cccea2bf32759fcee9dbaacbe3ea4165dd6184af6773651c5e00e34a8ba0be90e6e5d1a67ab5587779c60ac136d6a96db62b84c04998a5f03a367346abd6a05344aa1c9ca2e3e56bf98fd718ec43728578d148e1967fbaf8bf17a2a073a0bda011a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae437a0b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7a0c133d3c637e174f36a73c22b1039eb003da6374bc0929321241badb3efa3c4a9a0f13059f2301ad9862ce02e3f7f3f2c9ab78eb30583764d73654f7f1f8b1e86fda06544e3915748b18204e09df75ff20d2fa6bd8121e2e669699012d54590383d6fa070e3a8e093691581d58fadb560b510262a758037632cd8670d3a36df828976b7a062a88a2900544dc76a32255a6b2b2a2eef8fa68279700c00adc7508286702552a0a474aeebd5603dfce46a6ecd1ecd519068dc034a544fde03ac42d4018e60a334a0b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6ca04440f1242e42c5bfa7c536591ab89c8e84bea417435871c32eef1e25295b20daa06a5dcfe3cc84cff9d3e3c3ae868cfba8f0dd111a90c3f85869dab5b893f96643a026b2fb9dd7d08b0ed2f1c44fbf875011412a384f86f751c92e1013248d4aa371a0c75597b2b789fc4e939b71937390ce9d7d53159431328ac52180eef08ef200f280",
+ "0xf90191a0f0c5b800b542001597f2b7a8e106ac0e2849d2cc1df1727ac35c4ea3965f1c9180a08537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713ea00b3a26a05b5494fb3ff6f0b3897688a5581066b20b07ebab9252d169d928717fa0a9a54d84976d134d6dba06a65064c7f3a964a75947d452db6f6bb4b6c47b43aaa01e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461a076f251d160b9a02eb0b5c1d83b61c9cdd4f37361705e79a45529bf49801fb824a0774a01a624cb14a50d17f2fe4b7ae6af8a67bbb029177ccc3dd729a734484d3ea05921b8a19aebe4fff5a36071e311778f9b93459183fdf7f6d870b401fa25dcbba0c8d71dd13d2806e2865a5c2cfa447f626471bf0b66182a8fd07230434e1cad2680a0e9864fdfaf3693b2602f56cd938ccd494b8634b1f91800ef02203a3609ca4c21a0c69d174ad6b6e58b0bd05914352839ec60915cd066dd2bee2a48016139687f21a0513dd5514fd6bad56871711441d38de2821cc6913cb192416b0385f025650731808080"
+ ],
+ "value": "0x1"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getStorageAt",
+ "summary": "Returns the value from a storage position at a given address.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "Storage slot",
+ "required": true,
+ "schema": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{0,64}$"
+ }
+ },
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Value",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getStorageAt example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
+ },
+ {
+ "name": "Storage slot",
+ "value": "0x0"
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Value",
+ "value": "0x0000000000000000000000000000000000000000000000000000000000000000"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getTransactionByBlockHashAndIndex",
+ "summary": "Returns information about a transaction by block hash and transaction index position.",
+ "params": [
+ {
+ "name": "Block hash",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "name": "Transaction index",
+ "required": true,
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getTransactionByBlockHashAndIndex example",
+ "params": [
+ {
+ "name": "Block hash",
+ "value": "0xbf137c3a7a1ebdfac21252765e5d7f40d115c2757e4a4abee929be88c624fdb7"
+ },
+ {
+ "name": "Transaction index",
+ "value": "0x2"
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "value": {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getTransactionByBlockNumberAndIndex",
+ "summary": "Returns information about a transaction by block number and transaction index position.",
+ "params": [
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ },
+ {
+ "name": "Transaction index",
+ "required": true,
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getTransactionByBlockNumberAndIndex example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0x1442e"
+ },
+ {
+ "name": "Transaction index",
+ "value": "0x2"
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "value": {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getTransactionByHash",
+ "summary": "Returns the information about a transaction requested by transaction hash.",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getTransactionByHash example",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "value": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44"
+ }
+ ],
+ "result": {
+ "name": "Transaction information",
+ "value": {
+ "blockHash": "0x510efccf44a192e6e34bcb439a1947e24b86244280762cbb006858c237093fda",
+ "blockNumber": "0x422",
+ "chainId": "0x7e2",
+ "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73",
+ "gas": "0x5208",
+ "gasPrice": "0x3b9aca00",
+ "hash": "0xa52be92809541220ee0aaaede6047d9a6c5d0cd96a517c854d944ee70a0ebb44",
+ "input": "0x",
+ "nonce": "0x1",
+ "to": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "transactionIndex": "0x0",
+ "value": "0x4e1003b28d9280000",
+ "v": "0xfe7",
+ "r": "0x84caf09aefbd5e539295acc67217563438a4efb224879b6855f56857fa2037d3",
+ "s": "0x5e863be3829812c81439f0ae9d8ecb832b531d651fb234c848d1bf45e62be8b9"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getTransactionCount",
+ "summary": "Returns the nonce of an account in the state. NOTE: The name eth_getTransactionCount reflects the historical fact that an account's nonce and sent transaction count were the same. After the Pectra fork, with the inclusion of EIP-7702, this is no longer true.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "Block",
+ "required": true,
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Account nonce",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_getTransactionCount example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0xc94770007dda54cF92009BFF0dE90c06F603a09f"
+ },
+ {
+ "name": "Block",
+ "value": "latest"
+ }
+ ],
+ "result": {
+ "name": "Transaction count",
+ "value": "0x1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getTransactionReceipt",
+ "summary": "Returns the receipt of a transaction by transaction hash.",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "required": true,
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Receipt information",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "type": "object",
+ "title": "Receipt information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "cumulativeGasUsed",
+ "gasUsed",
+ "logs",
+ "logsBloom",
+ "transactionHash",
+ "transactionIndex",
+ "effectiveGasPrice"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "to": {
+ "title": "to",
+ "description": "Address of the receiver or null in a contract creation transaction.",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Recipient Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "cumulativeGasUsed": {
+ "title": "cumulative gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The sum of gas used by this transaction and all preceding transactions in the same block."
+ },
+ "gasUsed": {
+ "title": "gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The amount of gas used for this specific transaction alone."
+ },
+ "blobGasUsed": {
+ "title": "blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The amount of blob gas used for this specific transaction. Only specified for blob transactions as defined by EIP-4844."
+ },
+ "contractAddress": {
+ "title": "contract address",
+ "description": "The contract address created, if the transaction was a contract creation, otherwise null.",
+ "oneOf": [
+ {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Null",
+ "type": "null"
+ }
+ ]
+ },
+ "logs": {
+ "title": "logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "logsBloom": {
+ "title": "logs bloom",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "root": {
+ "title": "state root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$",
+ "description": "The post-transaction state root. Only specified for transactions included before the Byzantium upgrade."
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Either 1 (success) or 0 (failure). Only specified for transactions included after the Byzantium upgrade."
+ },
+ "effectiveGasPrice": {
+ "title": "effective gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The actual value per gas deducted from the sender's account. Before EIP-1559, this is equal to the transaction's gas price. After, it is equal to baseFeePerGas + min(maxFeePerGas - baseFeePerGas, maxPriorityFeePerGas)."
+ },
+ "blobGasPrice": {
+ "title": "blob gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The actual value per gas deducted from the sender's account for blob gas. Only specified for blob transactions as defined by EIP-4844."
+ }
+ }
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getTransactionReceipt example",
+ "params": [
+ {
+ "name": "Transaction hash",
+ "value": "0x504ce587a65bdbdb6414a0c6c16d86a04dd79bfcc4f2950eec9634b30ce5370f"
+ }
+ ],
+ "result": {
+ "name": "Receipt information",
+ "value": {
+ "blockHash": "0xe7212a92cfb9b06addc80dec2a0dfae9ea94fd344efeb157c41e12994fcad60a",
+ "blockNumber": "0x50",
+ "contractAddress": null,
+ "cumulativeGasUsed": "0x5208",
+ "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57",
+ "gasUsed": "0x5208",
+ "blobGasUsed": "0x20000",
+ "effectiveGasPrice": "0x1",
+ "blobGasPrice": "0x3",
+ "logs": [],
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "status": "0x1",
+ "to": "0xf17f52151ebef6c7334fad080c5704d77216b732",
+ "transactionHash": "0xc00e97af59c6f88de163306935f7682af1a34c67245e414537d02e422815efc3",
+ "transactionIndex": "0x0"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getUncleCountByBlockHash",
+ "summary": "Returns the number of uncles in a block from a block matching the given block hash.",
+ "params": [
+ {
+ "name": "Block hash",
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Uncle count",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Uncle count",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getUncleCountByBlockHash example",
+ "params": [
+ {
+ "name": "Block hash",
+ "value": "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35"
+ }
+ ],
+ "result": {
+ "name": "Uncle count",
+ "value": "0x1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_getUncleCountByBlockNumber",
+ "summary": "Returns the number of transactions in a block matching the given block number.",
+ "params": [
+ {
+ "name": "Block",
+ "schema": {
+ "title": "Block number or tag",
+ "oneOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Uncle count",
+ "schema": {
+ "oneOf": [
+ {
+ "title": "Not Found (null)",
+ "type": "null"
+ },
+ {
+ "title": "Uncle count",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ ]
+ }
+ },
+ "errors": [
+ {
+ "code": 4444,
+ "message": "Pruned history unavailable"
+ }
+ ],
+ "examples": [
+ {
+ "name": "eth_getUncleCountByBlockNumber example",
+ "params": [
+ {
+ "name": "Block",
+ "value": "0xe8"
+ }
+ ],
+ "result": {
+ "name": "Uncle count",
+ "value": "0x1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_maxPriorityFeePerGas",
+ "summary": "Returns the current maxPriorityFeePerGas per gas in wei.",
+ "params": [],
+ "result": {
+ "name": "Max priority fee per gas",
+ "schema": {
+ "title": "Max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_maxPriorityFeePerGas example",
+ "params": [],
+ "result": {
+ "name": "Max priority fee per gas",
+ "value": "0x773c23ba"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_newBlockFilter",
+ "summary": "Creates a filter in the node, allowing for later polling. Registers client interest in new blocks, and returns an identifier.",
+ "params": [],
+ "result": {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_newBlockFilter example",
+ "params": [],
+ "result": {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_newFilter",
+ "summary": "Install a log filter in the server, allowing for later polling. Registers client interest in logs matching the filter, and returns an identifier.",
+ "params": [
+ {
+ "name": "Filter",
+ "schema": {
+ "title": "filter",
+ "type": "object",
+ "oneOf": [
+ {
+ "title": "Filter by block range",
+ "type": "object",
+ "properties": {
+ "fromBlock": {
+ "title": "from block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "toBlock": {
+ "title": "to block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "Address(es)",
+ "oneOf": [
+ {
+ "title": "Any Address",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Addresses",
+ "type": "array",
+ "items": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ ]
+ },
+ "topics": {
+ "title": "Topics",
+ "oneOf": [
+ {
+ "title": "Any Topic Match",
+ "type": "null"
+ },
+ {
+ "title": "Specified Filter Topics",
+ "type": "array",
+ "items": {
+ "title": "Filter Topic List Entry",
+ "oneOf": [
+ {
+ "title": "Single Topic Match",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ {
+ "title": "Multiple Topic Match",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "title": "Filter by block hash",
+ "type": "object",
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "address": {
+ "title": "Address(es)",
+ "oneOf": [
+ {
+ "title": "Any Address",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ {
+ "title": "Addresses",
+ "type": "array",
+ "items": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ }
+ ]
+ },
+ "topics": {
+ "title": "Topics",
+ "oneOf": [
+ {
+ "title": "Any Topic Match",
+ "type": "null"
+ },
+ {
+ "title": "Specified Filter Topics",
+ "type": "array",
+ "items": {
+ "title": "Filter Topic List Entry",
+ "oneOf": [
+ {
+ "title": "Single Topic Match",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ {
+ "title": "Multiple Topic Match",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "blockHash"
+ ]
+ }
+ ],
+ "additionalProperties": false
+ },
+ "required": true
+ }
+ ],
+ "result": {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_newFilter example",
+ "params": [
+ {
+ "name": "Filter",
+ "value": {
+ "fromBlock": "0x137d3c2",
+ "toBlock": "0x137d3c3",
+ "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "topics": []
+ }
+ }
+ ],
+ "result": {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_newPendingTransactionFilter",
+ "summary": "Creates a filter in the node, allowing for later polling. Registers client interest in new transactions, and returns an identifier.",
+ "params": [],
+ "result": {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_newPendingTransactionFilter example",
+ "params": [],
+ "result": {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_sendRawTransaction",
+ "summary": "Submits a raw transaction. You can create and sign a transaction externally using a library such as [web3.js](https://web3js.readthedocs.io/) or [ethers.js](https://docs.ethers.org/). For [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) transactions, the raw form must be the network form. This means it includes the blobs, KZG commitments, and KZG proofs. For [EIP-7594](https://eips.ethereum.org/EIPS/eip-7594) transactions, the raw format must be the network form. This means it includes the blobs, KZG commitments, and cell proofs. The logic for handling the new transaction during fork boundaries are 1. When receiving an encoded transaction with cell proofs before the PeerDAS fork activates, we reject it. Only blob proofs are accepted into the pool. 2. At the time of fork activation, the implementer could (not mandatory) - Drop all old-format transactions - Convert old proofs to new format (computationally expensive) - Convert only when including in a locally produced block 3. After the fork has activated, only txs with cell proofs are accepted via p2p relay. 4. On RPC (eth_sendRawTransaction), txs with blob proofs may still be accepted and will be auto-converted by the node. At implementer discretion, this facility can be deprecated later when users have switched to new client libraries that can create cell proofs.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction hash",
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_sendRawTransaction example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": "0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"
+ }
+ ],
+ "result": {
+ "name": "Transaction hash",
+ "value": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_sendTransaction",
+ "summary": "Signs and submits a transaction.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Transaction object generic to all types",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "blobs": {
+ "title": "blobs",
+ "description": "Raw blob data.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "EIP-7702 authorization list",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction hash",
+ "schema": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_sendTransaction example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": {
+ "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ "gas": "0x76c0",
+ "gasPrice": "0x9184e72a000",
+ "value": "0x9184e72a",
+ "input": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
+ }
+ }
+ ],
+ "result": {
+ "name": "Transaction hash",
+ "value": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_sign",
+ "summary": "Returns an EIP-191 signature over the provided data.",
+ "params": [
+ {
+ "name": "Address",
+ "required": true,
+ "schema": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ },
+ {
+ "name": "Message",
+ "required": true,
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ }
+ ],
+ "result": {
+ "name": "Signature",
+ "schema": {
+ "title": "65 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{130}$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_sign example",
+ "params": [
+ {
+ "name": "Address",
+ "value": "0x9b2055d370f73ec7d8a03e965129118dc8f5bf83"
+ },
+ {
+ "name": "Message",
+ "value": "0xdeadbeaf"
+ }
+ ],
+ "result": {
+ "name": "Signature",
+ "value": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_signTransaction",
+ "summary": "Returns an RLP encoded transaction signed by the specified account.",
+ "params": [
+ {
+ "name": "Transaction",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Transaction object generic to all types",
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "blobs": {
+ "title": "blobs",
+ "description": "Raw blob data.",
+ "type": "array",
+ "items": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "EIP-7702 authorization list",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ],
+ "result": {
+ "name": "Encoded transaction",
+ "schema": {
+ "title": "hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_signTransaction example",
+ "params": [
+ {
+ "name": "Transaction",
+ "value": {
+ "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
+ "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
+ "gas": "0x76c0",
+ "gasPrice": "0x9184e72a000",
+ "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
+ "value": "0x9184e72a"
+ }
+ }
+ ],
+ "result": {
+ "name": "Encoded transaction",
+ "value": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_simulateV1",
+ "summary": "Executes a sequence of message calls building on each other's state without creating transactions on the block chain, optionally overriding block and state data",
+ "params": [
+ {
+ "name": "Payload",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "title": "Arguments for eth_simulate",
+ "required": [
+ "blockStateCalls"
+ ],
+ "properties": {
+ "blockStateCalls": {
+ "title": "Block State Calls",
+ "description": "Definition of blocks that can contain calls and overrides",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "blockOverrides": {
+ "title": "Block overrides",
+ "type": "object",
+ "description": "Block overrides can be used to replace fields in a block.\ndefault: no block override.",
+ "properties": {
+ "number": {
+ "title": "Number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$",
+ "description": "When overriding block numbers across multiple blocks, block number need to be increasing. Skipping over blocks numbers is possible. If block number is not specified, it's incremented by one for each block."
+ },
+ "prevRandao": {
+ "title": "The Previous value of randomness beacon",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "time": {
+ "title": "Time",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$",
+ "description": "Time must either increase or remain constant relative to the previous block. If time is not specified, it's incremented by one for each block."
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "feeRecipient": {
+ "title": "Fee Recipient (also known as coinbase)",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per unit of gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "withdrawals": {
+ "title": "Withdrawals made by validators",
+ "description": "This array can have a maximum length of 16.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Validator withdrawal",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "index": {
+ "title": "index of withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "index of validator that generated withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "recipient address for withdrawal value",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "value contained in withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "blobBaseFee": {
+ "title": "Base fee per unit of blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ }
+ }
+ },
+ "stateOverrides": {
+ "title": "State overrides",
+ "type": "object",
+ "description": "State overrides can be used to replace existing blockchain state with new state.\nDefault: no state overrides",
+ "additionalProperties": false,
+ "patternProperties": {
+ "^0x[a-fA-F0-9]{40}$": {
+ "title": "Details of an account to be overridden",
+ "type": "object",
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Account override with whole storage replacement",
+ "description": "It is possible to override any kind of address (EOA's, contracts and precompiles)",
+ "required": [
+ "state"
+ ],
+ "properties": {
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "balance": {
+ "title": "Balance",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "code": {
+ "title": "Code",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "movePrecompileToAddress": {
+ "title": "MovePrecompileToAddress",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$",
+ "description": "Moves addresses precompile into the specified address. This move is done before the 'code' override is set. When the specified address is not a precompile, the behaviour is undefined and different clients might behave differently."
+ },
+ "state": {
+ "title": "Storage",
+ "type": "object",
+ "description": "Key-value mapping to override all slots in the account storage before executing the call. This functions similar to eth_call's state parameter.",
+ "additionalProperties": false,
+ "patternProperties": {
+ "^0x[a-fA-F0-9]{64}$": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Account override with partial storage modification",
+ "type": "object",
+ "required": [
+ "stateDiff"
+ ],
+ "properties": {
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "balance": {
+ "title": "Balance",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "code": {
+ "title": "Code",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "movePrecompileToAddress": {
+ "title": "MovePrecompileToAddress",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$",
+ "description": "Moves addresses precompile into the specified address. This move is done before the 'code' override is set. Can only move precompiles."
+ },
+ "stateDiff": {
+ "title": "Storage difference",
+ "type": "object",
+ "description": "Key-value mapping to override individual slots in the account storage before executing the call. This functions similar to eth_call's state parameter.",
+ "additionalProperties": false,
+ "patternProperties": {
+ "^0x[a-fA-F0-9]{64}$": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "calls": {
+ "type": "array",
+ "title": "calls",
+ "description": "List of transactions to execute at this block/state.\nDefault: []",
+ "items": {
+ "type": "object",
+ "title": "Transaction object type for call",
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "Default: 0x2"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$",
+ "description": "Default: Defaults to correct nonce"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$",
+ "description": "Default: 0x0"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$",
+ "description": "Default: null"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$",
+ "description": "Default: Remaining gas in the current block"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$",
+ "description": "Default: 0"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$",
+ "description": "Default: no data"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$",
+ "description": "The gas price willing to be paid by the sender in wei\nDefault: 0"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei\nDefault: 0"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei\nDefault: 0"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$",
+ "description": "The maximum total fee per blob gas the sender is willing to pay in wei\nDefault: 0"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list\nDefault: []",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "Blob versioned hashes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$",
+ "description": "EIP-4844 versioned hashes\nDefault: []"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "traceTransfers": {
+ "title": "Trace ETH Transfers",
+ "description": "Adds ETH transfers as ERC20 transfer events to the logs. These transfers have emitter contract parameter set as address(0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee).\nDefault: false.",
+ "type": "boolean"
+ },
+ "validation": {
+ "title": "Validation",
+ "description": "When true, the eth_simulateV1 does all validations that a normal EVM would do, except contract sender and signature checks. When false, eth_simulateV1 behaves like eth_call.\nDefault: false.",
+ "type": "boolean"
+ },
+ "returnFullTransactions": {
+ "title": "Return Full Transactions",
+ "description": "When true, the method returns full transaction objects, otherwise, just hashes are returned.",
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ {
+ "name": "Block tag",
+ "required": false,
+ "description": "default: 'latest'",
+ "schema": {
+ "title": "Block number, tag, or block hash",
+ "anyOf": [
+ {
+ "title": "Block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ {
+ "title": "Block tag",
+ "type": "string",
+ "enum": [
+ "earliest",
+ "finalized",
+ "safe",
+ "latest",
+ "pending"
+ ],
+ "description": "`earliest`: The lowest numbered block the client has available; `finalized`: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; `safe`: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; `latest`: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; `pending`: A sample next block built by the client on top of `latest` and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for `finalized` or `safe` block MUST be responded to with `-39001: Unknown block` error"
+ },
+ {
+ "title": "Block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ ]
+ }
+ }
+ ],
+ "result": {
+ "name": "Result of calls",
+ "schema": {
+ "title": "Full results of eth_simulate",
+ "type": "array",
+ "items": {
+ "title": "Result of eth_simulate block-level, with array of calls",
+ "type": "object",
+ "required": [
+ "calls",
+ "extraData",
+ "gasLimit",
+ "gasUsed",
+ "hash",
+ "logsBloom",
+ "miner",
+ "mixHash",
+ "nonce",
+ "number",
+ "parentHash",
+ "receiptsRoot",
+ "sha3Uncles",
+ "size",
+ "stateRoot",
+ "timestamp",
+ "transactions",
+ "transactionsRoot",
+ "uncles"
+ ],
+ "properties": {
+ "hash": {
+ "title": "Hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "parentHash": {
+ "title": "Parent block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "sha3Uncles": {
+ "title": "Ommers hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "miner": {
+ "title": "Coinbase",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "stateRoot": {
+ "title": "State root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionsRoot": {
+ "title": "Transactions root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "receiptsRoot": {
+ "title": "Receipts root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "logsBloom": {
+ "title": "Bloom filter",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{512}$"
+ },
+ "difficulty": {
+ "title": "Difficulty",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "number": {
+ "title": "Number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasLimit": {
+ "title": "Gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "gasUsed": {
+ "title": "Gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "timestamp": {
+ "title": "Timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "extraData": {
+ "title": "Extra data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "mixHash": {
+ "title": "Mix hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "nonce": {
+ "title": "Nonce",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{16}$"
+ },
+ "baseFeePerGas": {
+ "title": "Base fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "withdrawalsRoot": {
+ "title": "Withdrawals root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blobGasUsed": {
+ "title": "Blob gas used",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "excessBlobGas": {
+ "title": "Excess blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "parentBeaconBlockRoot": {
+ "title": "Parent Beacon Block Root",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "size": {
+ "title": "Block size",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactions": {
+ "anyOf": [
+ {
+ "title": "Transaction hashes",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ {
+ "title": "Full transactions",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Transaction information",
+ "required": [
+ "blockHash",
+ "blockNumber",
+ "from",
+ "hash",
+ "transactionIndex"
+ ],
+ "oneOf": [
+ {
+ "title": "Signed 7702 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "authorizationList",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x4$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access lists",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "authorizationList": {
+ "title": "authorizationList",
+ "description": "List of authorizations for the transaction",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "chainId",
+ "nonce",
+ "address",
+ "yParity",
+ "r",
+ "s"
+ ],
+ "properties": {
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID on which this transaction is valid"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 4844 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "blobVersionedHashes",
+ "chainId",
+ "gas",
+ "input",
+ "maxFeePerBlobGas",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "to",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x3$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "maxFeePerBlobGas": {
+ "title": "max fee per blob gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "blobVersionedHashes": {
+ "title": "blobVersionedHashes",
+ "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on"
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 1559 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "maxFeePerGas",
+ "maxPriorityFeePerGas",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x2$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "maxPriorityFeePerGas": {
+ "title": "max priority fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Maximum fee per gas the sender is willing to pay to miners in wei"
+ },
+ "maxFeePerGas": {
+ "title": "max fee per gas",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward."
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed 2930 Transaction",
+ "type": "object",
+ "required": [
+ "accessList",
+ "chainId",
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "value",
+ "yParity"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "accessList": {
+ "title": "accessList",
+ "type": "array",
+ "description": "EIP-2930 access list",
+ "items": {
+ "title": "Access list entry",
+ "type": "object",
+ "required": [
+ "address",
+ "storageKeys"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "title": "hex encoded address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "storageKeys": {
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "yParity": {
+ "title": "yParity",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x([0-9a-fA-F]?){1,2}$",
+ "description": "For backwards compatibility, `v` is optionally provided as an alternative to `yParity`. This field is DEPRECATED and all use of it should migrate to `yParity`."
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Signed Legacy Transaction",
+ "type": "object",
+ "required": [
+ "gas",
+ "gasPrice",
+ "input",
+ "nonce",
+ "r",
+ "s",
+ "type",
+ "v",
+ "value"
+ ],
+ "properties": {
+ "type": {
+ "title": "type",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "nonce": {
+ "title": "nonce",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "to": {
+ "title": "to address",
+ "oneOf": [
+ {
+ "title": "Contract Creation (null)",
+ "type": "null"
+ },
+ {
+ "title": "Address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ }
+ ]
+ },
+ "gas": {
+ "title": "gas limit",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "value": {
+ "title": "value",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "input": {
+ "title": "input data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasPrice": {
+ "title": "gas price",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "The gas price willing to be paid by the sender in wei"
+ },
+ "chainId": {
+ "title": "chainId",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$",
+ "description": "Chain ID that this transaction is valid on."
+ },
+ "v": {
+ "title": "v",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "r": {
+ "title": "r",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "s": {
+ "title": "s",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "from": {
+ "title": "from address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "hash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "withdrawals": {
+ "title": "Withdrawals",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "title": "Validator withdrawal",
+ "required": [
+ "index",
+ "validatorIndex",
+ "address",
+ "amount"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "index": {
+ "title": "index of withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "validatorIndex": {
+ "title": "index of validator that generated withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "address": {
+ "title": "recipient address for withdrawal value",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "amount": {
+ "title": "value contained in withdrawal",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
+ }
+ }
+ }
+ },
+ "uncles": {
+ "title": "Uncles",
+ "type": "array",
+ "items": {
+ "title": "32 byte hex value",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ },
+ "requestsHash": {
+ "title": "EIP-7685 requests hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "calls": {
+ "title": "Call Results",
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "title": "Result of call failure",
+ "description": "The error messages are suggestions, and clients might implement different error messages. However, the error codes are enforced by the spec.",
+ "type": "object",
+ "required": [
+ "status",
+ "returnData",
+ "gasUsed",
+ "error"
+ ],
+ "properties": {
+ "status": {
+ "title": "Call Status Failure",
+ "type": "string",
+ "pattern": "^0x0$"
+ },
+ "returnData": {
+ "title": "Return data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasUsed": {
+ "title": "Return gasUsed",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "error": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "code": {
+ "const": -32000
+ },
+ "message": {
+ "type": "string",
+ "pattern": "^execution reverted.*"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "code": {
+ "const": -32015
+ },
+ "message": {
+ "type": "string",
+ "pattern": "^vm execution error.*"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "title": "Result of call success",
+ "type": "object",
+ "required": [
+ "status",
+ "returnData",
+ "gasUsed",
+ "logs"
+ ],
+ "properties": {
+ "status": {
+ "title": "Call Status Success",
+ "type": "string",
+ "pattern": "^0x1$"
+ },
+ "returnData": {
+ "title": "Return data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "gasUsed": {
+ "title": "Return gasUsed",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,15})$"
+ },
+ "logs": {
+ "title": "Return logs",
+ "type": "array",
+ "items": {
+ "title": "log",
+ "type": "object",
+ "required": [
+ "transactionHash"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "removed": {
+ "title": "removed",
+ "type": "boolean"
+ },
+ "logIndex": {
+ "title": "log index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionIndex": {
+ "title": "transaction index",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "transactionHash": {
+ "title": "transaction hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockHash": {
+ "title": "block hash",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ },
+ "blockNumber": {
+ "title": "block number",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "blockTimestamp": {
+ "title": "block timestamp",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "address": {
+ "title": "address",
+ "type": "string",
+ "pattern": "^0x[0-9a-fA-F]{40}$"
+ },
+ "data": {
+ "title": "data",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]*$"
+ },
+ "topics": {
+ "title": "topics",
+ "type": "array",
+ "items": {
+ "title": "32 hex encoded bytes",
+ "type": "string",
+ "pattern": "^0x[0-9a-f]{64}$"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "errors": [
+ {
+ "code": -32000,
+ "message": "Invalid request"
+ },
+ {
+ "code": -32602,
+ "message": "Missing or invalid parameters"
+ },
+ {
+ "code": -32005,
+ "message": "Transactions maxFeePerGas is too low"
+ },
+ {
+ "code": -32015,
+ "message": "Execution error"
+ },
+ {
+ "code": -32016,
+ "message": "Timeout"
+ },
+ {
+ "code": -32603,
+ "message": "The Ethereum node encountered an internal error"
+ },
+ {
+ "code": -38010,
+ "message": "Transactions nonce is too low"
+ },
+ {
+ "code": -38011,
+ "message": "Transactions nonce is too high"
+ },
+ {
+ "code": -38012,
+ "message": "Transactions baseFeePerGas is too low"
+ },
+ {
+ "code": -38013,
+ "message": "Not enough gas provided to pay for intrinsic gas for a transaction"
+ },
+ {
+ "code": -38014,
+ "message": "Insufficient funds to pay for gas fees and value for a transaction"
+ },
+ {
+ "code": -38015,
+ "message": "Block gas limit exceeded by the block's transactions"
+ },
+ {
+ "code": -38020,
+ "message": "Block number in sequence did not increase"
+ },
+ {
+ "code": -38021,
+ "message": "Block timestamp in sequence did not increase or stay the same"
+ },
+ {
+ "code": -38022,
+ "message": "MovePrecompileToAddress referenced itself in replacement"
+ },
+ {
+ "code": -38023,
+ "message": "Multiple MovePrecompileToAddress referencing the same address to replace"
+ },
+ {
+ "code": -38024,
+ "message": "Sender is not an EOA"
+ },
+ {
+ "code": -38025,
+ "message": "Max init code size exceeded"
+ },
+ {
+ "code": -38026,
+ "message": "Client adjustable limit exceeded"
+ }
+ ]
+ },
+ {
+ "name": "eth_syncing",
+ "summary": "Returns an object with data about the sync status or false.",
+ "params": [],
+ "result": {
+ "name": "Syncing status",
+ "schema": {
+ "title": "Syncing status",
+ "oneOf": [
+ {
+ "title": "Syncing progress",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "startingBlock": {
+ "title": "Starting block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "currentBlock": {
+ "title": "Current block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "highestBlock": {
+ "title": "Highest block",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ }
+ }
+ },
+ {
+ "title": "Not syncing",
+ "description": "Should always return false if not syncing.",
+ "type": "boolean"
+ }
+ ]
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_syncing example",
+ "params": [],
+ "result": {
+ "name": "Syncing status",
+ "value": {
+ "startingBlock": "0x0",
+ "currentBlock": "0x1518",
+ "highestBlock": "0x9567a3"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "name": "eth_uninstallFilter",
+ "summary": "Uninstalls a filter with given id.",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "schema": {
+ "title": "hex encoded unsigned integer",
+ "type": "string",
+ "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
+ },
+ "required": true
+ }
+ ],
+ "result": {
+ "name": "Success",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "examples": [
+ {
+ "name": "eth_uninstallFilter example",
+ "params": [
+ {
+ "name": "Filter identifier",
+ "value": "0x01"
+ }
+ ],
+ "result": {
+ "name": "Success",
+ "value": true
+ }
+ }
+ ]
+ }
+ ],
+ "components": {}
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 63b8c2590..582bcf842 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,58 +9,339 @@
"version": "0.0.0",
"license": "CC0-1.0",
"dependencies": {
+ "@docusaurus/core": "^3.9.2",
+ "@docusaurus/preset-classic": "^3.9.2",
"@graphql-inspector/core": "~3.3.0",
- "@mdx-js/react": "~3.0.0",
+ "@mdx-js/react": "^3.0.0",
+ "@open-rpc/docusaurus-plugin": "0.1.0",
"@open-rpc/generator": "^2.1.0",
"@open-rpc/schema-utils-js": "^2.1.2",
- "gatsby": "^5.14.3",
+ "clsx": "^2.1.1",
"graphql": "~16.3.0",
"graphql-request": "~4.1.0",
"js-yaml": "~4.1.0",
"json-schema-merge-allof": "~0.8.1",
"nodemon": "^3.0.0",
+ "prism-react-renderer": "^2.4.1",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
"remark-gfm": "~4.0.1",
"typescript": "~5.6.2"
}
},
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
+ "node_modules/@ai-sdk/gateway": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-2.0.18.tgz",
+ "integrity": "sha512-sDQcW+6ck2m0pTIHW6BPHD7S125WD3qNkx/B8sEzJp/hurocmJ5Cni0ybExg6sQMGo+fr/GWOwpHF1cmCdg5rQ==",
"license": "Apache-2.0",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "@ai-sdk/provider": "2.0.0",
+ "@ai-sdk/provider-utils": "3.0.18",
+ "@vercel/oidc": "3.0.5"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
+ },
+ "node_modules/@ai-sdk/provider": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz",
+ "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/provider-utils": {
+ "version": "3.0.18",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.18.tgz",
+ "integrity": "sha512-ypv1xXMsgGcNKUP+hglKqtdDuMg68nWHucPPAhIENrbFAI+xCHiqPVN8Zllxyv1TNZwGWUghPxJXU+Mqps0YRQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "2.0.0",
+ "@standard-schema/spec": "^1.0.0",
+ "eventsource-parser": "^3.0.6"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
+ },
+ "node_modules/@ai-sdk/react": {
+ "version": "2.0.106",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-2.0.106.tgz",
+ "integrity": "sha512-TU8ONNhm64GI7O60UDCcOz9CdyCp3emQwSYrSnq+QWBNgS8vDlRQ3ZwXyPNAJQdXyBTafVS2iyS0kvV+KXaPAQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "3.0.18",
+ "ai": "5.0.106",
+ "swr": "^2.2.5",
+ "throttleit": "2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "zod": "^3.25.76 || ^4.1.8"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
}
},
- "node_modules/@ardatan/relay-compiler": {
- "version": "12.0.0",
+ "node_modules/@algolia/abtesting": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.0.tgz",
+ "integrity": "sha512-EfW0bfxjPs+C7ANkJDw2TATntfBKsFiy7APh+KO0pQ8A6HYa5I0NjFuCGCXWfzzzLXNZta3QUl3n5Kmm6aJo9Q==",
"license": "MIT",
"dependencies": {
- "@babel/core": "^7.14.0",
- "@babel/generator": "^7.14.0",
- "@babel/parser": "^7.14.0",
- "@babel/runtime": "^7.0.0",
- "@babel/traverse": "^7.14.0",
- "@babel/types": "^7.0.0",
- "babel-preset-fbjs": "^3.4.0",
- "chalk": "^4.0.0",
- "fb-watchman": "^2.0.0",
- "fbjs": "^3.0.0",
- "glob": "^7.1.1",
- "immutable": "~3.7.6",
- "invariant": "^2.2.4",
- "nullthrows": "^1.1.1",
- "relay-runtime": "12.0.0",
- "signedsource": "^1.0.0",
- "yargs": "^15.3.1"
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
},
- "bin": {
- "relay-compiler": "bin/relay-compiler"
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/autocomplete-core": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz",
+ "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.19.2",
+ "@algolia/autocomplete-shared": "1.19.2"
+ }
+ },
+ "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz",
+ "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.19.2"
},
"peerDependencies": {
- "graphql": "*"
+ "search-insights": ">= 1 < 3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-shared": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz",
+ "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/client-abtesting": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.0.tgz",
+ "integrity": "sha512-eG5xV8rujK4ZIHXrRshvv9O13NmU/k42Rnd3w43iKH5RaQ2zWuZO6Q7XjaoJjAFVCsJWqRbXzbYyPGrbF3wGNg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.0.tgz",
+ "integrity": "sha512-AYh2uL8IUW9eZrbbT+wZElyb7QkkeV3US2NEKY7doqMlyPWE8lErNfkVN1NvZdVcY4/SVic5GDbeDz2ft8YIiQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.0.tgz",
+ "integrity": "sha512-0emZTaYOeI9WzJi0TcNd2k3SxiN6DZfdWc2x2gHt855Jl9jPUOzfVTL6gTvCCrOlT4McvpDGg5nGO+9doEjjig==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-insights": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.0.tgz",
+ "integrity": "sha512-wrBJ8fE+M0TDG1As4DDmwPn2TXajrvmvAN72Qwpuv8e2JOKNohF7+JxBoF70ZLlvP1A1EiH8DBu+JpfhBbNphQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.0.tgz",
+ "integrity": "sha512-LnkeX4p0ENt0DoftDJJDzQQJig/sFQmD1eQifl/iSjhUOGUIKC/7VTeXRcKtQB78naS8njUAwpzFvxy1CDDXDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-query-suggestions": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.0.tgz",
+ "integrity": "sha512-aF9tc4ex/smypXw+W3lBPB1jjKoaGHpZezTqofvDOI/oK1dR2sdTpFpK2Ru+7IRzYgwtRqHF3znmTlyoNs9dpA==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.0.tgz",
+ "integrity": "sha512-22SHEEVNjZfFWkFks3P6HilkR3rS7a6GjnCIqR22Zz4HNxdfT0FG+RE7efTcFVfLUkTTMQQybvaUcwMrHXYa7Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/events": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz",
+ "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==",
+ "license": "MIT"
+ },
+ "node_modules/@algolia/ingestion": {
+ "version": "1.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.0.tgz",
+ "integrity": "sha512-2LT0/Z+/sFwEpZLH6V17WSZ81JX2uPjgvv5eNlxgU7rPyup4NXXfuMbtCJ+6uc4RO/LQpEJd3Li59ke3wtyAsA==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/monitoring": {
+ "version": "1.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.0.tgz",
+ "integrity": "sha512-uivZ9wSWZ8mz2ZU0dgDvQwvVZV8XBv6lYBXf8UtkQF3u7WeTqBPeU8ZoeTyLpf0jAXCYOvc1mAVmK0xPLuEwOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/recommend": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.0.tgz",
+ "integrity": "sha512-O2BB8DuySuddgOAbhyH4jsGbL+KyDGpzJRtkDZkv091OMomqIA78emhhMhX9d/nIRrzS1wNLWB/ix7Hb2eV5rg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.0.tgz",
+ "integrity": "sha512-eW6xyHCyYrJD0Kjk9Mz33gQ40LfWiEA51JJTVfJy3yeoRSw/NXhAL81Pljpa0qslTs6+LO/5DYPZddct6HvISQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-fetch": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.0.tgz",
+ "integrity": "sha512-Vn2+TukMGHy4PIxmdvP667tN/MhS7MPT8EEvEhS6JyFLPx3weLcxSa1F9gVvrfHWCUJhLWoMVJVB2PT8YfRGcw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.0.tgz",
+ "integrity": "sha512-xaqXyna5yBZ+r1SJ9my/DM6vfTqJg9FJgVydRJ0lnO+D5NhqGW/qaRG/iBGKr/d4fho34el6WakV7BqJvrl/HQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.46.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
@@ -85,6 +366,7 @@
"node_modules/@babel/core": {
"version": "7.27.1",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
@@ -132,29 +414,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@babel/eslint-parser": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
- "eslint-visitor-keys": "^2.1.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.11.0",
- "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
- }
- },
- "node_modules/@babel/eslint-parser/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/generator": {
"version": "7.27.1",
"license": "MIT",
@@ -427,75 +686,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.17.12",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/parser": {
"version": "7.27.2",
"license": "MIT",
@@ -578,13 +768,9 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.18.6",
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
"engines": {
"node": ">=6.9.0"
},
@@ -592,26 +778,21 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.18.6",
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.18.6",
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.27.1",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -620,15 +801,11 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.20.7",
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.27.1",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.20.7"
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -637,13 +814,11 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.21.0",
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.27.1",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
@@ -652,9 +827,12 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0-placeholder-for-preset-env.2",
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.27.1",
"license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
"engines": {
"node": ">=6.9.0"
},
@@ -662,143 +840,18 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-flow": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
- "version": "7.18.6",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
@@ -1023,20 +1076,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-flow-strip-types": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-syntax-flow": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-transform-for-of": {
"version": "7.27.1",
"license": "MIT",
@@ -1341,6 +1380,21 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-react-constant-elements": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz",
+ "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-react-display-name": {
"version": "7.27.1",
"license": "MIT",
@@ -1743,6 +1797,18 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz",
+ "integrity": "sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==",
+ "license": "MIT",
+ "dependencies": {
+ "core-js-pure": "^3.43.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/template": {
"version": "7.27.2",
"license": "MIT",
@@ -1801,8132 +1867,8798 @@
"node": ">=6.9.0"
}
},
- "node_modules/@builder.io/partytown": {
- "version": "0.7.6",
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"license": "MIT",
- "bin": {
- "partytown": "bin/partytown.cjs"
+ "optional": true,
+ "engines": {
+ "node": ">=0.1.90"
}
},
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
+ "node_modules/@csstools/cascade-layer-name-parser": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz",
+ "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- },
+ "node_modules/@csstools/color-helpers": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
+ "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=18"
}
},
- "node_modules/@eslint/eslintrc/node_modules/argparse": {
- "version": "1.0.10",
+ "node_modules/@csstools/css-calc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
+ "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.3.4",
+ "node_modules/@csstools/css-color-parser": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
+ "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "@csstools/color-helpers": "^5.1.0",
+ "@csstools/css-calc": "^2.1.4"
},
"engines": {
- "node": ">=6.0"
+ "node": ">=18"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.15.0",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
+ "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
+ "peer": true,
"engines": {
- "node": ">=8"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "4.0.6",
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
+ "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
+ "peer": true,
"engines": {
- "node": ">= 4"
+ "node": ">=18"
}
},
- "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
- "version": "3.14.1",
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz",
+ "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "engines": {
+ "node": ">=18"
},
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/@gatsbyjs/parcel-namer-relative-to-cwd": {
- "version": "2.14.0",
- "license": "MIT",
+ "node_modules/@csstools/postcss-alpha-function": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz",
+ "integrity": "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "@parcel/namer-default": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "gatsby-core-utils": "^4.14.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
- "node": ">=18.0.0",
- "parcel": "2.x"
- }
- },
- "node_modules/@gatsbyjs/reach-router": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "invariant": "^2.2.4",
- "prop-types": "^15.8.1"
+ "node": ">=18"
},
"peerDependencies": {
- "react": "18.x",
- "react-dom": "18.x"
- }
- },
- "node_modules/@gatsbyjs/webpack-hot-middleware": {
- "version": "2.25.3",
- "license": "MIT",
- "dependencies": {
- "ansi-html-community": "0.0.8",
- "html-entities": "^2.3.3",
- "strip-ansi": "^6.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/add": {
- "version": "3.2.3",
- "license": "MIT",
+ "node_modules/@csstools/postcss-cascade-layers": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz",
+ "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.1",
- "tslib": "~2.4.0"
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/add/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
- "dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-codegen/add/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "postcss-selector-parser": "^7.0.0"
}
},
- "node_modules/@graphql-codegen/add/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/core": {
- "version": "2.6.8",
+ "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.1",
- "@graphql-tools/schema": "^9.0.0",
- "@graphql-tools/utils": "^9.1.1",
- "tslib": "~2.4.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
- "peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@graphql-codegen/core/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-color-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz",
+ "integrity": "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-codegen/core/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/core/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/plugin-helpers": {
- "version": "2.7.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-color-function-display-p3-linear": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz",
+ "integrity": "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^8.8.0",
- "change-case-all": "1.0.14",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/plugin-helpers/node_modules/@graphql-tools/utils": {
- "version": "8.13.1",
- "license": "MIT",
+ "node_modules/@csstools/postcss-color-mix-function": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz",
+ "integrity": "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "tslib": "^2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/schema-ast": {
- "version": "2.6.1",
- "license": "MIT",
+ "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz",
+ "integrity": "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.2",
- "@graphql-tools/utils": "^9.0.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/schema-ast/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-content-alt-text": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz",
+ "integrity": "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-codegen/schema-ast/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/typescript": {
- "version": "2.8.8",
- "license": "MIT",
+ "node_modules/@csstools/postcss-contrast-color-function": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz",
+ "integrity": "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.2",
- "@graphql-codegen/schema-ast": "^2.6.1",
- "@graphql-codegen/visitor-plugin-common": "2.13.8",
- "auto-bind": "~4.0.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/typescript-operations": {
- "version": "2.5.13",
- "license": "MIT",
+ "node_modules/@csstools/postcss-exponential-functions": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz",
+ "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.2",
- "@graphql-codegen/typescript": "^2.8.8",
- "@graphql-codegen/visitor-plugin-common": "2.13.8",
- "auto-bind": "~4.0.0",
- "tslib": "~2.4.0"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-font-format-keywords": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz",
+ "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-codegen/typescript-operations/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-gamut-mapping": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz",
+ "integrity": "sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-codegen/typescript/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/typescript/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-codegen/visitor-plugin-common": {
- "version": "2.13.8",
- "license": "MIT",
+ "node_modules/@csstools/postcss-gradients-interpolation-method": {
+ "version": "5.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz",
+ "integrity": "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-codegen/plugin-helpers": "^3.1.2",
- "@graphql-tools/optimize": "^1.3.0",
- "@graphql-tools/relay-operation-optimizer": "^6.5.0",
- "@graphql-tools/utils": "^9.0.0",
- "auto-bind": "~4.0.0",
- "change-case-all": "1.0.15",
- "dependency-graph": "^0.11.0",
- "graphql-tag": "^2.11.0",
- "parse-filepath": "^1.0.2",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/@graphql-codegen/plugin-helpers": {
- "version": "3.1.2",
- "license": "MIT",
+ "node_modules/@csstools/postcss-hwb-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz",
+ "integrity": "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/utils": "^9.0.0",
- "change-case-all": "1.0.15",
- "common-tags": "1.8.2",
- "import-from": "4.0.0",
- "lodash": "~4.17.0",
- "tslib": "~2.4.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/change-case-all": {
- "version": "1.0.15",
- "license": "MIT",
- "dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
- }
- },
- "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": {
- "version": "2.4.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-inspector/core": {
- "version": "3.3.0",
- "license": "MIT",
+ "node_modules/@csstools/postcss-ic-unit": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz",
+ "integrity": "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "dependency-graph": "0.11.0",
- "object-inspect": "1.10.3",
- "tslib": "^2.0.0"
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
},
- "peerDependencies": {
- "graphql": "^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/@graphql-inspector/core/node_modules/object-inspect": {
- "version": "1.10.3",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@graphql-inspector/core/node_modules/tslib": {
- "version": "2.4.0",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/code-file-loader": {
- "version": "7.3.23",
- "license": "MIT",
- "dependencies": {
- "@graphql-tools/graphql-tag-pluck": "7.5.2",
- "@graphql-tools/utils": "^9.2.1",
- "globby": "^11.0.3",
- "tslib": "^2.4.0",
- "unixify": "^1.0.0"
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-tools/code-file-loader/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/graphql-tag-pluck": {
- "version": "7.5.2",
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.16.8",
- "@babel/plugin-syntax-import-assertions": "^7.20.0",
- "@babel/traverse": "^7.16.8",
- "@babel/types": "^7.16.8",
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0"
+ "node_modules/@csstools/postcss-initial": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz",
+ "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-tools/graphql-tag-pluck/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/load": {
- "version": "7.8.14",
- "license": "MIT",
+ "node_modules/@csstools/postcss-is-pseudo-class": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz",
+ "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/schema": "^9.0.18",
- "@graphql-tools/utils": "^9.2.1",
- "p-limit": "3.1.0",
- "tslib": "^2.4.0"
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
},
- "peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
- }
- },
- "node_modules/@graphql-tools/load/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/merge": {
- "version": "8.4.2",
- "license": "MIT",
- "dependencies": {
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0"
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-tools/merge/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/optimize": {
- "version": "1.4.0",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
+ "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss-selector-parser": "^7.0.0"
}
},
- "node_modules/@graphql-tools/optimize/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/relay-operation-optimizer": {
- "version": "6.5.18",
+ "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@ardatan/relay-compiler": "12.0.0",
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
- "peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@graphql-tools/relay-operation-optimizer/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/schema": {
- "version": "9.0.19",
- "license": "MIT",
+ "node_modules/@csstools/postcss-light-dark-function": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz",
+ "integrity": "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@graphql-tools/merge": "^8.4.1",
- "@graphql-tools/utils": "^9.2.1",
- "tslib": "^2.4.0",
- "value-or-promise": "^1.0.12"
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-tools/schema/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-tools/utils": {
- "version": "9.2.1",
- "license": "MIT",
- "dependencies": {
- "@graphql-typed-document-node/core": "^3.1.1",
- "tslib": "^2.4.0"
+ "node_modules/@csstools/postcss-logical-float-and-clear": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz",
+ "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@graphql-tools/utils/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@graphql-typed-document-node/core": {
- "version": "3.2.0",
- "license": "MIT",
+ "node_modules/@csstools/postcss-logical-overflow": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz",
+ "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
"peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
- }
- },
- "node_modules/@hapi/hoek": {
- "version": "9.3.0",
- "license": "BSD-3-Clause"
- },
- "node_modules/@hapi/topo": {
- "version": "5.1.0",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
+ "postcss": "^8.4"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "license": "Apache-2.0",
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- },
+ "node_modules/@csstools/postcss-logical-overscroll-behavior": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz",
+ "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": ">=10.10.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/debug": {
- "version": "4.3.4",
- "license": "MIT",
+ "node_modules/@csstools/postcss-logical-resize": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz",
+ "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "ms": "2.1.2"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.0"
+ "node": ">=18"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "license": "BSD-3-Clause"
- },
- "node_modules/@iarna/toml": {
- "version": "2.2.5",
- "license": "ISC"
- },
- "node_modules/@inquirer/checkbox": {
- "version": "4.1.6",
- "license": "MIT",
+ "node_modules/@csstools/postcss-logical-viewport-units": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz",
+ "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.6",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/confirm": {
- "version": "5.1.10",
+ "node_modules/@csstools/postcss-media-minmax": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz",
+ "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/core": {
- "version": "10.1.11",
- "license": "MIT",
- "dependencies": {
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.6",
- "ansi-escapes": "^4.3.2",
- "cli-width": "^4.1.0",
- "mute-stream": "^2.0.0",
- "signal-exit": "^4.1.0",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
+ "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz",
+ "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
}
- }
- },
- "node_modules/@inquirer/core/node_modules/cli-width": {
- "version": "4.1.0",
- "license": "ISC",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/@inquirer/core/node_modules/mute-stream": {
- "version": "2.0.0",
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@inquirer/core/node_modules/signal-exit": {
- "version": "4.1.0",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@inquirer/core/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@inquirer/editor": {
- "version": "4.2.11",
- "license": "MIT",
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6",
- "external-editor": "^3.1.0"
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/expand": {
- "version": "4.0.13",
- "license": "MIT",
+ "node_modules/@csstools/postcss-nested-calc": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz",
+ "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6",
- "yoctocolors-cjs": "^2.1.2"
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/figures": {
- "version": "1.0.11",
- "license": "MIT",
- "engines": {
- "node": ">=18"
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/input": {
- "version": "4.1.10",
- "license": "MIT",
+ "node_modules/@csstools/postcss-normalize-display-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz",
+ "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/number": {
- "version": "3.0.13",
- "license": "MIT",
+ "node_modules/@csstools/postcss-oklab-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz",
+ "integrity": "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/password": {
- "version": "4.0.13",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6",
- "ansi-escapes": "^4.3.2"
- },
+ "node_modules/@csstools/postcss-position-area-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-position-area-property/-/postcss-position-area-property-1.0.0.tgz",
+ "integrity": "sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/prompts": {
- "version": "7.5.1",
- "license": "MIT",
+ "node_modules/@csstools/postcss-progressive-custom-properties": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz",
+ "integrity": "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/checkbox": "^4.1.6",
- "@inquirer/confirm": "^5.1.10",
- "@inquirer/editor": "^4.2.11",
- "@inquirer/expand": "^4.0.13",
- "@inquirer/input": "^4.1.10",
- "@inquirer/number": "^3.0.13",
- "@inquirer/password": "^4.0.13",
- "@inquirer/rawlist": "^4.1.1",
- "@inquirer/search": "^3.0.13",
- "@inquirer/select": "^4.2.1"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/rawlist": {
- "version": "4.1.1",
- "license": "MIT",
+ "node_modules/@csstools/postcss-random-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz",
+ "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/type": "^3.0.6",
- "yoctocolors-cjs": "^2.1.2"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/search": {
- "version": "3.0.13",
- "license": "MIT",
+ "node_modules/@csstools/postcss-relative-color-syntax": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz",
+ "integrity": "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.6",
- "yoctocolors-cjs": "^2.1.2"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "postcss": "^8.4"
}
},
- "node_modules/@inquirer/select": {
- "version": "4.2.1",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/figures": "^1.0.11",
- "@inquirer/type": "^3.0.6",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@inquirer/type": {
- "version": "3.0.6",
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
+ "node_modules/@csstools/postcss-scope-pseudo-class": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz",
+ "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
}
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.8",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@json-schema-spec/json-pointer": {
- "version": "0.1.2",
- "license": "MIT"
- },
- "node_modules/@json-schema-tools/dereferencer": {
- "version": "1.6.3",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/reference-resolver": "^1.2.6",
- "@json-schema-tools/traverse": "^1.10.4",
- "fast-safe-stringify": "^2.1.1"
- }
- },
- "node_modules/@json-schema-tools/meta-schema": {
- "version": "1.7.5",
- "license": "Apache-2.0"
- },
- "node_modules/@json-schema-tools/reference-resolver": {
- "version": "1.2.6",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-spec/json-pointer": "^0.1.2",
- "isomorphic-fetch": "^3.0.0"
- }
- },
- "node_modules/@json-schema-tools/referencer": {
- "version": "1.1.3",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/traverse": "^1.10.4"
- }
- },
- "node_modules/@json-schema-tools/titleizer": {
- "version": "1.0.9",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/traverse": "^1.10.4"
- }
- },
- "node_modules/@json-schema-tools/transpiler": {
- "version": "1.10.5",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/referencer": "^1.1.3",
- "@json-schema-tools/titleizer": "^1.0.9",
- "@json-schema-tools/traverse": "^1.10.4",
- "lodash.camelcase": "^4.3.0",
- "lodash.deburr": "^4.1.0",
- "lodash.snakecase": "^4.1.1",
- "lodash.trim": "^4.5.1"
- }
- },
- "node_modules/@json-schema-tools/traverse": {
- "version": "1.10.4",
- "license": "Apache-2.0"
- },
- "node_modules/@leichtgewicht/ip-codec": {
- "version": "2.0.5",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@lezer/common": {
- "version": "1.2.3",
- "license": "MIT"
- },
- "node_modules/@lezer/lr": {
- "version": "1.4.2",
- "license": "MIT",
- "dependencies": {
- "@lezer/common": "^1.0.0"
- }
- },
- "node_modules/@lmdb/lmdb-linux-x64": {
- "version": "2.5.3",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@mdx-js/react": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
- "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
- "license": "MIT",
- "dependencies": {
- "@types/mdx": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- },
- "peerDependencies": {
- "@types/react": ">=16",
- "react": ">=16"
- }
- },
- "node_modules/@mischnic/json-sourcemap": {
- "version": "0.1.1",
- "license": "MIT",
- "dependencies": {
- "@lezer/common": "^1.0.0",
- "@lezer/lr": "^1.0.0",
- "json5": "^2.2.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
- "version": "3.0.3",
- "cpu": [
- "x64"
],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
- "version": "5.1.1-v1",
- "license": "MIT",
- "dependencies": {
- "eslint-scope": "5.1.1"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "license": "MIT",
+ "license": "MIT-0",
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@open-rpc/generator": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@open-rpc/generator/-/generator-2.1.0.tgz",
- "integrity": "sha512-K1NLJzBGdD6wVQXl73zonktOoo6dXSTHm2fP4Rx5QiWJREr8gutvXMh2Dd6yZcDsLmC8F7BcFZm4bwss0JJ0Tw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@iarna/toml": "^2.2.5",
- "@open-rpc/typings": "^1.12.4",
- "commander": "^7.2.0",
- "fs-extra": "^11.2.0",
- "inquirer": "^12.4.2",
- "lodash": "^4.17.21"
- },
- "bin": {
- "open-rpc-generator": "build/cli.js"
- }
- },
- "node_modules/@open-rpc/generator/node_modules/fs-extra": {
- "version": "11.3.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
- }
- },
- "node_modules/@open-rpc/generator/node_modules/inquirer": {
- "version": "12.6.1",
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.1.11",
- "@inquirer/prompts": "^7.5.1",
- "@inquirer/type": "^3.0.6",
- "ansi-escapes": "^4.3.2",
- "mute-stream": "^2.0.0",
- "run-async": "^3.0.0",
- "rxjs": "^7.8.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@open-rpc/generator/node_modules/mute-stream": {
- "version": "2.0.0",
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@open-rpc/generator/node_modules/run-async": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/@open-rpc/generator/node_modules/rxjs": {
- "version": "7.8.2",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@open-rpc/generator/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@open-rpc/meta-schema": {
- "version": "1.14.9",
- "license": "Apache-2.0"
- },
- "node_modules/@open-rpc/schema-utils-js": {
- "version": "2.1.2",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/dereferencer": "^1.6.3",
- "@json-schema-tools/meta-schema": "^1.7.5",
- "@json-schema-tools/reference-resolver": "^1.2.6",
- "@open-rpc/meta-schema": "^1.14.9",
- "@open-rpc/specification-extension-spec": "^1.0.2",
- "ajv": "^6.10.0",
- "detect-node": "^2.0.4",
- "fast-safe-stringify": "^2.0.7",
- "fs-extra": "^10.1.0",
- "is-url": "^1.2.4",
- "isomorphic-fetch": "^3.0.0"
- }
- },
- "node_modules/@open-rpc/schema-utils-js/node_modules/fs-extra": {
- "version": "10.1.0",
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@open-rpc/specification-extension-spec": {
- "version": "1.0.2",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@open-rpc/typings": {
- "version": "1.12.4",
- "license": "Apache 2.0",
- "dependencies": {
- "@json-schema-tools/titleizer": "1.0.9",
- "@json-schema-tools/transpiler": "^1.10.5",
- "@open-rpc/schema-utils-js": "2.0.2",
- "commander": "^6.0.0",
- "fs-extra": "^10.0.0"
- },
- "bin": {
- "open-rpc-typings": "build/cli.js"
- }
- },
- "node_modules/@open-rpc/typings/node_modules/@open-rpc/schema-utils-js": {
- "version": "2.0.2",
- "license": "Apache-2.0",
- "dependencies": {
- "@json-schema-tools/dereferencer": "^1.6.3",
- "@json-schema-tools/meta-schema": "^1.7.5",
- "@json-schema-tools/reference-resolver": "^1.2.6",
- "@open-rpc/meta-schema": "^1.14.9",
- "ajv": "^6.10.0",
- "detect-node": "^2.0.4",
- "fast-safe-stringify": "^2.0.7",
- "fs-extra": "^10.1.0",
- "is-url": "^1.2.4",
- "isomorphic-fetch": "^3.0.0"
- }
- },
- "node_modules/@open-rpc/typings/node_modules/commander": {
- "version": "6.2.1",
- "license": "MIT",
+ "postcss-selector-parser": "^7.0.0"
+ },
"engines": {
- "node": ">= 6"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@open-rpc/typings/node_modules/fs-extra": {
- "version": "10.1.0",
+ "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=4"
}
},
- "node_modules/@parcel/bundler-default": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@csstools/postcss-sign-functions": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz",
+ "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/graph": "2.8.3",
- "@parcel/hash": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "@parcel/utils": "2.8.3",
- "nullthrows": "^1.1.1"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": ">=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/cache": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@csstools/postcss-stepped-value-functions": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz",
+ "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@parcel/fs": "2.8.3",
- "@parcel/logger": "2.8.3",
- "@parcel/utils": "2.8.3",
- "lmdb": "2.5.2"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
},
"engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": ">=18"
},
"peerDependencies": {
- "@parcel/core": "^2.8.3"
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/cache/node_modules/@lmdb/lmdb-linux-x64": {
- "version": "2.5.2",
- "cpu": [
- "x64"
+ "node_modules/@csstools/postcss-system-ui-font-family": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-system-ui-font-family/-/postcss-system-ui-font-family-1.0.0.tgz",
+ "integrity": "sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@parcel/cache/node_modules/lmdb": {
- "version": "2.5.2",
- "hasInstallScript": true,
- "license": "MIT",
+ "license": "MIT-0",
"dependencies": {
- "msgpackr": "^1.5.4",
- "node-addon-api": "^4.3.0",
- "node-gyp-build-optional-packages": "5.0.3",
- "ordered-binary": "^1.2.4",
- "weak-lru-cache": "^1.2.2"
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
},
- "optionalDependencies": {
- "@lmdb/lmdb-darwin-arm64": "2.5.2",
- "@lmdb/lmdb-darwin-x64": "2.5.2",
- "@lmdb/lmdb-linux-arm": "2.5.2",
- "@lmdb/lmdb-linux-arm64": "2.5.2",
- "@lmdb/lmdb-linux-x64": "2.5.2",
- "@lmdb/lmdb-win32-x64": "2.5.2"
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/cache/node_modules/node-addon-api": {
- "version": "4.3.0",
- "license": "MIT"
- },
- "node_modules/@parcel/codeframe": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@csstools/postcss-text-decoration-shorthand": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz",
+ "integrity": "sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "chalk": "^4.1.0"
+ "@csstools/color-helpers": "^5.1.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/compressor-raw": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@csstools/postcss-trigonometric-functions": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz",
+ "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "@parcel/plugin": "2.8.3"
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/core": {
- "version": "2.8.3",
- "license": "MIT",
- "dependencies": {
- "@mischnic/json-sourcemap": "^0.1.0",
- "@parcel/cache": "2.8.3",
- "@parcel/diagnostic": "2.8.3",
- "@parcel/events": "2.8.3",
- "@parcel/fs": "2.8.3",
- "@parcel/graph": "2.8.3",
- "@parcel/hash": "2.8.3",
- "@parcel/logger": "2.8.3",
- "@parcel/package-manager": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "@parcel/types": "2.8.3",
- "@parcel/utils": "2.8.3",
- "@parcel/workers": "2.8.3",
- "abortcontroller-polyfill": "^1.1.9",
- "base-x": "^3.0.8",
- "browserslist": "^4.6.6",
- "clone": "^2.1.1",
- "dotenv": "^7.0.0",
- "dotenv-expand": "^5.1.0",
- "json5": "^2.2.0",
- "msgpackr": "^1.5.4",
- "nullthrows": "^1.1.1",
- "semver": "^5.7.1"
- },
- "engines": {
- "node": ">= 12.0.0"
+ "node": ">=18"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/core/node_modules/dotenv": {
- "version": "7.0.0",
- "license": "BSD-2-Clause",
+ "node_modules/@csstools/postcss-unset-value": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz",
+ "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/core/node_modules/semver": {
- "version": "5.7.2",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
+ "node_modules/@csstools/utilities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz",
+ "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/@parcel/diagnostic": {
- "version": "2.8.3",
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
"license": "MIT",
- "dependencies": {
- "@mischnic/json-sourcemap": "^0.1.0",
- "nullthrows": "^1.1.1"
- },
"engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": ">=10.0.0"
}
},
- "node_modules/@parcel/events": {
- "version": "2.8.3",
+ "node_modules/@docsearch/core": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@docsearch/core/-/core-4.3.1.tgz",
+ "integrity": "sha512-ktVbkePE+2h9RwqCUMbWXOoebFyDOxHqImAqfs+lC8yOU+XwEW4jgvHGJK079deTeHtdhUNj0PXHSnhJINvHzQ==",
"license": "MIT",
- "engines": {
- "node": ">= 12.0.0"
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 20.0.0",
+ "react": ">= 16.8.0 < 20.0.0",
+ "react-dom": ">= 16.8.0 < 20.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/fs": {
- "version": "2.8.3",
+ "node_modules/@docsearch/css": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.3.2.tgz",
+ "integrity": "sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==",
+ "license": "MIT"
+ },
+ "node_modules/@docsearch/react": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.3.2.tgz",
+ "integrity": "sha512-74SFD6WluwvgsOPqifYOviEEVwDxslxfhakTlra+JviaNcs7KK/rjsPj89kVEoQc9FUxRkAofaJnHIR7pb4TSQ==",
"license": "MIT",
"dependencies": {
- "@parcel/fs-search": "2.8.3",
- "@parcel/types": "2.8.3",
- "@parcel/utils": "2.8.3",
- "@parcel/watcher": "^2.0.7",
- "@parcel/workers": "2.8.3"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "@ai-sdk/react": "^2.0.30",
+ "@algolia/autocomplete-core": "1.19.2",
+ "@docsearch/core": "4.3.1",
+ "@docsearch/css": "4.3.2",
+ "ai": "^5.0.30",
+ "algoliasearch": "^5.28.0",
+ "marked": "^16.3.0",
+ "zod": "^4.1.8"
},
"peerDependencies": {
- "@parcel/core": "^2.8.3"
+ "@types/react": ">= 16.8.0 < 20.0.0",
+ "react": ">= 16.8.0 < 20.0.0",
+ "react-dom": ">= 16.8.0 < 20.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/fs-search": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/babel": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.9.2.tgz",
+ "integrity": "sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==",
"license": "MIT",
"dependencies": {
- "detect-libc": "^1.0.3"
+ "@babel/core": "^7.25.9",
+ "@babel/generator": "^7.25.9",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-runtime": "^7.25.9",
+ "@babel/preset-env": "^7.25.9",
+ "@babel/preset-react": "^7.25.9",
+ "@babel/preset-typescript": "^7.25.9",
+ "@babel/runtime": "^7.25.9",
+ "@babel/runtime-corejs3": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "babel-plugin-dynamic-import-node": "^2.3.3",
+ "fs-extra": "^11.1.1",
+ "tslib": "^2.6.0"
},
"engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": ">=20.0"
}
},
- "node_modules/@parcel/graph": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/babel/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "nullthrows": "^1.1.1"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/@docusaurus/babel/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/bundler": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.9.2.tgz",
+ "integrity": "sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.9",
+ "@docusaurus/babel": "3.9.2",
+ "@docusaurus/cssnano-preset": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "babel-loader": "^9.2.1",
+ "clean-css": "^5.3.3",
+ "copy-webpack-plugin": "^11.0.0",
+ "css-loader": "^6.11.0",
+ "css-minimizer-webpack-plugin": "^5.0.1",
+ "cssnano": "^6.1.2",
+ "file-loader": "^6.2.0",
+ "html-minifier-terser": "^7.2.0",
+ "mini-css-extract-plugin": "^2.9.2",
+ "null-loader": "^4.0.1",
+ "postcss": "^8.5.4",
+ "postcss-loader": "^7.3.4",
+ "postcss-preset-env": "^10.2.1",
+ "terser-webpack-plugin": "^5.3.9",
+ "tslib": "^2.6.0",
+ "url-loader": "^4.1.1",
+ "webpack": "^5.95.0",
+ "webpackbar": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">=20.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "@docusaurus/faster": "*"
+ },
+ "peerDependenciesMeta": {
+ "@docusaurus/faster": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/hash": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/babel-loader": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz",
+ "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==",
"license": "MIT",
"dependencies": {
- "detect-libc": "^1.0.3",
- "xxhash-wasm": "^0.4.2"
+ "find-cache-dir": "^4.0.0",
+ "schema-utils": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 14.15.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "@babel/core": "^7.12.0",
+ "webpack": ">=5"
}
},
- "node_modules/@parcel/logger": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"license": "MIT",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/events": "2.8.3"
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">=14"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@docusaurus/bundler/node_modules/css-declaration-sorter": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz",
+ "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==",
+ "license": "ISC",
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
}
},
- "node_modules/@parcel/markdown-ansi": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/css-loader": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz",
+ "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==",
"license": "MIT",
"dependencies": {
- "chalk": "^4.1.0"
+ "icss-utils": "^5.1.0",
+ "postcss": "^8.4.33",
+ "postcss-modules-extract-imports": "^3.1.0",
+ "postcss-modules-local-by-default": "^4.0.5",
+ "postcss-modules-scope": "^3.2.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.5.4"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "@rspack/core": "0.x || 1.x",
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@rspack/core": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/namer-default": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/css-minimizer-webpack-plugin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz",
+ "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==",
"license": "MIT",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "nullthrows": "^1.1.1"
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "cssnano": "^6.0.1",
+ "jest-worker": "^29.4.3",
+ "postcss": "^8.4.24",
+ "schema-utils": "^4.0.1",
+ "serialize-javascript": "^6.0.1"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": ">= 14.15.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@parcel/css": {
+ "optional": true
+ },
+ "@swc/css": {
+ "optional": true
+ },
+ "clean-css": {
+ "optional": true
+ },
+ "csso": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/node-resolver-core": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@docusaurus/bundler/node_modules/css-select": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/utils": "2.8.3",
- "nullthrows": "^1.1.1",
- "semver": "^5.7.1"
- },
- "engines": {
- "node": ">= 12.0.0"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/node-resolver-core/node_modules/semver": {
- "version": "5.7.2",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/@parcel/optimizer-terser": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"license": "MIT",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "@parcel/utils": "2.8.3",
- "nullthrows": "^1.1.1",
- "terser": "^5.2.0"
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
- "node_modules/@parcel/package-manager": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/cssnano": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz",
+ "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==",
"license": "MIT",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/fs": "2.8.3",
- "@parcel/logger": "2.8.3",
- "@parcel/types": "2.8.3",
- "@parcel/utils": "2.8.3",
- "@parcel/workers": "2.8.3",
- "semver": "^5.7.1"
+ "cssnano-preset-default": "^6.1.2",
+ "lilconfig": "^3.1.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": "^14 || ^16 || >=18.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/cssnano"
},
"peerDependencies": {
- "@parcel/core": "^2.8.3"
+ "postcss": "^8.4.31"
}
},
- "node_modules/@parcel/package-manager/node_modules/semver": {
- "version": "5.7.2",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
+ "node_modules/@docusaurus/bundler/node_modules/cssnano-preset-default": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz",
+ "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.23.0",
+ "css-declaration-sorter": "^7.2.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-calc": "^9.0.1",
+ "postcss-colormin": "^6.1.0",
+ "postcss-convert-values": "^6.1.0",
+ "postcss-discard-comments": "^6.0.2",
+ "postcss-discard-duplicates": "^6.0.3",
+ "postcss-discard-empty": "^6.0.3",
+ "postcss-discard-overridden": "^6.0.2",
+ "postcss-merge-longhand": "^6.0.5",
+ "postcss-merge-rules": "^6.1.1",
+ "postcss-minify-font-values": "^6.1.0",
+ "postcss-minify-gradients": "^6.0.3",
+ "postcss-minify-params": "^6.1.0",
+ "postcss-minify-selectors": "^6.0.4",
+ "postcss-normalize-charset": "^6.0.2",
+ "postcss-normalize-display-values": "^6.0.2",
+ "postcss-normalize-positions": "^6.0.2",
+ "postcss-normalize-repeat-style": "^6.0.2",
+ "postcss-normalize-string": "^6.0.2",
+ "postcss-normalize-timing-functions": "^6.0.2",
+ "postcss-normalize-unicode": "^6.1.0",
+ "postcss-normalize-url": "^6.0.2",
+ "postcss-normalize-whitespace": "^6.0.2",
+ "postcss-ordered-values": "^6.0.2",
+ "postcss-reduce-initial": "^6.1.0",
+ "postcss-reduce-transforms": "^6.0.2",
+ "postcss-svgo": "^6.0.3",
+ "postcss-unique-selectors": "^6.0.4"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@parcel/packager-js": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/cssnano-utils": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz",
+ "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==",
"license": "MIT",
- "dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/hash": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "@parcel/utils": "2.8.3",
- "globals": "^13.2.0",
- "nullthrows": "^1.1.1"
- },
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@parcel/packager-js/node_modules/globals": {
- "version": "13.24.0",
+ "node_modules/@docusaurus/bundler/node_modules/csso": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
+ "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
"license": "MIT",
"dependencies": {
- "type-fest": "^0.20.2"
+ "css-tree": "~2.2.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
}
},
- "node_modules/@parcel/packager-raw": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/csso/node_modules/css-tree": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
+ "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
"license": "MIT",
"dependencies": {
- "@parcel/plugin": "2.8.3"
+ "mdn-data": "2.0.28",
+ "source-map-js": "^1.0.1"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@docusaurus/bundler/node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.28",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
+ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
+ "license": "CC0-1.0"
+ },
+ "node_modules/@docusaurus/bundler/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/@parcel/plugin": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@docusaurus/bundler/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "@parcel/types": "2.8.3"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 4"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/@parcel/reporter-dev-server": {
- "version": "2.8.3",
- "license": "MIT",
+ "node_modules/@docusaurus/bundler/node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "@parcel/plugin": "2.8.3",
- "@parcel/utils": "2.8.3"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
},
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/@docusaurus/bundler/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": ">=0.12"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/@parcel/resolver-default": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/find-cache-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz",
+ "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==",
"license": "MIT",
"dependencies": {
- "@parcel/node-resolver-core": "2.8.3",
- "@parcel/plugin": "2.8.3"
+ "common-path-prefix": "^3.0.0",
+ "pkg-dir": "^7.0.0"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": ">=14.16"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@parcel/runtime-js": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
"license": "MIT",
"dependencies": {
- "@parcel/plugin": "2.8.3",
- "@parcel/utils": "2.8.3",
- "nullthrows": "^1.1.1"
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@parcel/source-map": {
- "version": "2.1.1",
+ "node_modules/@docusaurus/bundler/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
"license": "MIT",
"dependencies": {
- "detect-libc": "^1.0.3"
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
},
"engines": {
- "node": "^12.18.3 || >=14"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@parcel/transformer-js": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/lilconfig": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
"license": "MIT",
- "dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/plugin": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "@parcel/utils": "2.8.3",
- "@parcel/workers": "2.8.3",
- "@swc/helpers": "^0.4.12",
- "browserslist": "^4.6.6",
- "detect-libc": "^1.0.3",
- "nullthrows": "^1.1.1",
- "regenerator-runtime": "^0.13.7",
- "semver": "^5.7.1"
- },
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": ">=14"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "peerDependencies": {
- "@parcel/core": "^2.8.3"
- }
- },
- "node_modules/@parcel/transformer-js/node_modules/semver": {
- "version": "5.7.2",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
+ "url": "https://github.com/sponsors/antonk52"
}
},
- "node_modules/@parcel/transformer-json": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/locate-path": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+ "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
"license": "MIT",
"dependencies": {
- "@parcel/plugin": "2.8.3",
- "json5": "^2.2.0"
+ "p-locate": "^6.0.0"
},
"engines": {
- "node": ">= 12.0.0",
- "parcel": "^2.8.3"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@parcel/types": {
- "version": "2.8.3",
- "license": "MIT",
- "dependencies": {
- "@parcel/cache": "2.8.3",
- "@parcel/diagnostic": "2.8.3",
- "@parcel/fs": "2.8.3",
- "@parcel/package-manager": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "@parcel/workers": "2.8.3",
- "utility-types": "^3.10.0"
- }
+ "node_modules/@docusaurus/bundler/node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "license": "CC0-1.0"
},
- "node_modules/@parcel/utils": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/mini-css-extract-plugin": {
+ "version": "2.9.4",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz",
+ "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==",
"license": "MIT",
"dependencies": {
- "@parcel/codeframe": "2.8.3",
- "@parcel/diagnostic": "2.8.3",
- "@parcel/hash": "2.8.3",
- "@parcel/logger": "2.8.3",
- "@parcel/markdown-ansi": "2.8.3",
- "@parcel/source-map": "^2.1.1",
- "chalk": "^4.1.0"
+ "schema-utils": "^4.0.0",
+ "tapable": "^2.2.1"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
}
},
- "node_modules/@parcel/watcher": {
- "version": "2.5.1",
- "hasInstallScript": true,
+ "node_modules/@docusaurus/bundler/node_modules/p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
"license": "MIT",
"dependencies": {
- "detect-libc": "^1.0.3",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.5",
- "node-addon-api": "^7.0.0"
+ "yocto-queue": "^1.0.0"
},
"engines": {
- "node": ">= 10.0.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.5.1",
- "@parcel/watcher-darwin-arm64": "2.5.1",
- "@parcel/watcher-darwin-x64": "2.5.1",
- "@parcel/watcher-freebsd-x64": "2.5.1",
- "@parcel/watcher-linux-arm-glibc": "2.5.1",
- "@parcel/watcher-linux-arm-musl": "2.5.1",
- "@parcel/watcher-linux-arm64-glibc": "2.5.1",
- "@parcel/watcher-linux-arm64-musl": "2.5.1",
- "@parcel/watcher-linux-x64-glibc": "2.5.1",
- "@parcel/watcher-linux-x64-musl": "2.5.1",
- "@parcel/watcher-win32-arm64": "2.5.1",
- "@parcel/watcher-win32-ia32": "2.5.1",
- "@parcel/watcher-win32-x64": "2.5.1"
- }
- },
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.1",
- "cpu": [
- "x64"
- ],
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@docusaurus/bundler/node_modules/p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "dependencies": {
+ "p-limit": "^4.0.0"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.1",
- "cpu": [
- "x64"
- ],
+ "node_modules/@docusaurus/bundler/node_modules/path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
"engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
- "node_modules/@parcel/workers": {
- "version": "2.8.3",
+ "node_modules/@docusaurus/bundler/node_modules/pkg-dir": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
+ "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==",
"license": "MIT",
"dependencies": {
- "@parcel/diagnostic": "2.8.3",
- "@parcel/logger": "2.8.3",
- "@parcel/types": "2.8.3",
- "@parcel/utils": "2.8.3",
- "chrome-trace-event": "^1.0.2",
- "nullthrows": "^1.1.1"
+ "find-up": "^6.3.0"
},
"engines": {
- "node": ">= 12.0.0"
+ "node": ">=14.16"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "peerDependencies": {
- "@parcel/core": "^2.8.3"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
- "version": "0.5.16",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-calc": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
+ "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==",
"license": "MIT",
"dependencies": {
- "ansi-html": "^0.0.9",
- "core-js-pure": "^3.23.3",
- "error-stack-parser": "^2.0.6",
- "html-entities": "^2.1.0",
- "loader-utils": "^2.0.4",
- "schema-utils": "^4.2.0",
- "source-map": "^0.7.3"
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">= 10.13"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "@types/webpack": "4.x || 5.x",
- "react-refresh": ">=0.10.0 <1.0.0",
- "sockjs-client": "^1.4.0",
- "type-fest": ">=0.17.0 <5.0.0",
- "webpack": ">=4.43.0 <6.0.0",
- "webpack-dev-server": "3.x || 4.x || 5.x",
- "webpack-hot-middleware": "2.x",
- "webpack-plugin-serve": "0.x || 1.x"
- },
- "peerDependenciesMeta": {
- "@types/webpack": {
- "optional": true
- },
- "sockjs-client": {
- "optional": true
- },
- "type-fest": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- },
- "webpack-hot-middleware": {
- "optional": true
- },
- "webpack-plugin-serve": {
- "optional": true
- }
- }
- },
- "node_modules/@pnpm/config.env-replace": {
- "version": "1.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=12.22.0"
+ "postcss": "^8.2.2"
}
},
- "node_modules/@pnpm/network.ca-file": {
- "version": "1.0.2",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-colormin": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz",
+ "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==",
"license": "MIT",
"dependencies": {
- "graceful-fs": "4.2.10"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.3",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=12.22.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@pnpm/npm-conf": {
- "version": "2.3.1",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-convert-values": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz",
+ "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==",
"license": "MIT",
"dependencies": {
- "@pnpm/config.env-replace": "^1.1.0",
- "@pnpm/network.ca-file": "^1.0.1",
- "config-chain": "^1.1.11"
+ "browserslist": "^4.23.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=12"
- }
- },
- "node_modules/@rtsao/scc": {
- "version": "1.1.0",
- "license": "MIT"
- },
- "node_modules/@sideway/address": {
- "version": "4.1.5",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "node_modules/@sideway/formula": {
- "version": "3.0.1",
- "license": "BSD-3-Clause"
- },
- "node_modules/@sideway/pinpoint": {
- "version": "2.0.0",
- "license": "BSD-3-Clause"
- },
- "node_modules/@sigmacomputing/babel-plugin-lodash": {
- "version": "3.3.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/types": "^7.0.0",
- "glob": "^7.1.1",
- "lodash": "^4.17.10",
- "require-package-name": "^2.0.1"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@sindresorhus/is": {
- "version": "4.6.0",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-discard-comments": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz",
+ "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==",
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@sindresorhus/slugify": {
- "version": "1.1.2",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-discard-duplicates": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz",
+ "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==",
"license": "MIT",
- "dependencies": {
- "@sindresorhus/transliterate": "^0.1.1",
- "escape-string-regexp": "^4.0.0"
- },
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@sindresorhus/transliterate": {
- "version": "0.1.2",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-discard-empty": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz",
+ "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==",
"license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^2.0.0",
- "lodash.deburr": "^4.1.0"
- },
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": {
- "version": "2.0.0",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-discard-overridden": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz",
+ "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==",
"license": "MIT",
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.2",
- "license": "MIT"
- },
- "node_modules/@swc/helpers": {
- "version": "0.4.37",
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/legacy-helpers": "npm:@swc/helpers@=0.4.14",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@swc/helpers/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@swc/legacy-helpers": {
- "name": "@swc/helpers",
- "version": "0.4.14",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@swc/legacy-helpers/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/@szmarczak/http-timer": {
- "version": "4.0.6",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-loader": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz",
+ "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==",
"license": "MIT",
"dependencies": {
- "defer-to-connect": "^2.0.0"
+ "cosmiconfig": "^8.3.5",
+ "jiti": "^1.20.0",
+ "semver": "^7.5.4"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "license": "MIT"
+ "node": ">= 14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "postcss": "^7.0.0 || ^8.0.1",
+ "webpack": "^5.0.0"
+ }
},
- "node_modules/@trysound/sax": {
- "version": "0.2.0",
- "license": "ISC",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-merge-longhand": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz",
+ "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^6.1.1"
+ },
"engines": {
- "node": ">=10.13.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/body-parser": {
- "version": "1.19.6",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-merge-rules": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz",
+ "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-selector-parser": "^6.0.16"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/bonjour": {
- "version": "3.5.13",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-minify-font-values": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz",
+ "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/cacheable-request": {
+ "node_modules/@docusaurus/bundler/node_modules/postcss-minify-gradients": {
"version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz",
+ "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==",
"license": "MIT",
"dependencies": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "^3.1.4",
- "@types/node": "*",
- "@types/responselike": "^1.0.0"
+ "colord": "^2.9.3",
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/common-tags": {
- "version": "1.8.4",
- "license": "MIT"
- },
- "node_modules/@types/configstore": {
- "version": "2.1.1",
- "license": "MIT"
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-minify-params": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz",
+ "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*"
+ "browserslist": "^4.23.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.5.4",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-minify-selectors": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz",
+ "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
+ "postcss-selector-parser": "^6.0.16"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/cookie": {
- "version": "0.4.1",
- "license": "MIT"
- },
- "node_modules/@types/cors": {
- "version": "2.8.18",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-charset": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz",
+ "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==",
"license": "MIT",
- "dependencies": {
- "@types/node": "*"
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/debug": {
- "version": "0.0.30",
- "license": "MIT"
- },
- "node_modules/@types/eslint": {
- "version": "7.29.0",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-display-values": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz",
+ "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==",
"license": "MIT",
"dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-positions": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz",
+ "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==",
"license": "MIT",
"dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/estree": {
- "version": "1.0.7",
- "license": "MIT"
- },
- "node_modules/@types/express": {
- "version": "4.17.23",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-repeat-style": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz",
+ "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/express-serve-static-core": {
- "version": "5.0.6",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-string": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz",
+ "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
- "version": "4.19.6",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-timing-functions": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz",
+ "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/get-port": {
- "version": "3.2.0",
- "license": "MIT"
- },
- "node_modules/@types/glob": {
- "version": "5.0.37",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-unicode": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz",
+ "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==",
"license": "MIT",
"dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
+ "browserslist": "^4.23.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/http-cache-semantics": {
- "version": "4.0.4",
- "license": "MIT"
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.5",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@types/http-proxy": {
- "version": "1.17.16",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-url": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz",
+ "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==",
"license": "MIT",
"dependencies": {
- "@types/node": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/json-schema": {
- "version": "7.0.11",
- "license": "MIT"
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "license": "MIT"
- },
- "node_modules/@types/keyv": {
- "version": "3.1.4",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-normalize-whitespace": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz",
+ "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==",
"license": "MIT",
"dependencies": {
- "@types/node": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/lodash": {
- "version": "4.14.182",
- "license": "MIT"
- },
- "node_modules/@types/mdast": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
- "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-ordered-values": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz",
+ "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==",
"license": "MIT",
"dependencies": {
- "@types/unist": "*"
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/mdx": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
- "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
- "license": "MIT"
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@types/minimatch": {
- "version": "3.0.5",
- "license": "MIT"
- },
- "node_modules/@types/mkdirp": {
- "version": "0.5.2",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-reduce-initial": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz",
+ "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==",
"license": "MIT",
"dependencies": {
- "@types/node": "*"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
- "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "18.0.0",
- "license": "MIT"
- },
- "node_modules/@types/node-forge": {
- "version": "1.3.11",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-reduce-transforms": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz",
+ "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/parse-json": {
- "version": "4.0.0",
- "license": "MIT"
- },
- "node_modules/@types/prop-types": {
- "version": "15.7.15",
- "license": "MIT"
- },
- "node_modules/@types/qs": {
- "version": "6.14.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-svgo": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz",
+ "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==",
"license": "MIT",
- "optional": true,
- "peer": true
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^3.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >= 18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
+ }
},
- "node_modules/@types/reach__router": {
- "version": "1.3.15",
+ "node_modules/@docusaurus/bundler/node_modules/postcss-unique-selectors": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz",
+ "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==",
"license": "MIT",
"dependencies": {
- "@types/react": "*"
+ "postcss-selector-parser": "^6.0.16"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/react": {
- "version": "17.0.87",
- "license": "MIT",
+ "node_modules/@docusaurus/bundler/node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "license": "BSD-3-Clause",
"dependencies": {
- "@types/prop-types": "*",
- "@types/scheduler": "^0.16",
- "csstype": "^3.0.2"
+ "randombytes": "^2.1.0"
}
},
- "node_modules/@types/responselike": {
- "version": "1.0.3",
+ "node_modules/@docusaurus/bundler/node_modules/stylehacks": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz",
+ "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==",
"license": "MIT",
"dependencies": {
- "@types/node": "*"
+ "browserslist": "^4.23.0",
+ "postcss-selector-parser": "^6.0.16"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/@types/retry": {
- "version": "0.12.0",
+ "node_modules/@docusaurus/bundler/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"license": "MIT",
- "optional": true,
- "peer": true
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
},
- "node_modules/@types/rimraf": {
- "version": "2.0.5",
+ "node_modules/@docusaurus/bundler/node_modules/svgo": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
+ "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
"license": "MIT",
"dependencies": {
- "@types/glob": "*",
- "@types/node": "*"
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^5.1.0",
+ "css-tree": "^2.3.1",
+ "css-what": "^6.1.0",
+ "csso": "^5.0.5",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/svgo"
}
},
- "node_modules/@types/scheduler": {
- "version": "0.16.8",
- "license": "MIT"
+ "node_modules/@docusaurus/bundler/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/@types/semver": {
- "version": "7.7.0",
- "license": "MIT"
+ "node_modules/@docusaurus/bundler/node_modules/yocto-queue": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
+ "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/@types/send": {
- "version": "0.17.5",
+ "node_modules/@docusaurus/core": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.2.tgz",
+ "integrity": "sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
+ "@docusaurus/babel": "3.9.2",
+ "@docusaurus/bundler": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "boxen": "^6.2.1",
+ "chalk": "^4.1.2",
+ "chokidar": "^3.5.3",
+ "cli-table3": "^0.6.3",
+ "combine-promises": "^1.1.0",
+ "commander": "^5.1.0",
+ "core-js": "^3.31.1",
+ "detect-port": "^1.5.1",
+ "escape-html": "^1.0.3",
+ "eta": "^2.2.0",
+ "eval": "^0.1.8",
+ "execa": "5.1.1",
+ "fs-extra": "^11.1.1",
+ "html-tags": "^3.3.1",
+ "html-webpack-plugin": "^5.6.0",
+ "leven": "^3.1.0",
+ "lodash": "^4.17.21",
+ "open": "^8.4.0",
+ "p-map": "^4.0.0",
+ "prompts": "^2.4.2",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
+ "react-loadable": "npm:@docusaurus/react-loadable@6.0.0",
+ "react-loadable-ssr-addon-v5-slorber": "^1.0.1",
+ "react-router": "^5.3.4",
+ "react-router-config": "^5.1.1",
+ "react-router-dom": "^5.3.4",
+ "semver": "^7.5.4",
+ "serve-handler": "^6.1.6",
+ "tinypool": "^1.0.2",
+ "tslib": "^2.6.0",
+ "update-notifier": "^6.0.2",
+ "webpack": "^5.95.0",
+ "webpack-bundle-analyzer": "^4.10.2",
+ "webpack-dev-server": "^5.2.2",
+ "webpack-merge": "^6.0.1"
+ },
+ "bin": {
+ "docusaurus": "bin/docusaurus.mjs"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "@mdx-js/react": "^3.0.0",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@types/serve-index": {
- "version": "1.9.4",
+ "node_modules/@docusaurus/core/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@types/express": "*"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/@types/serve-static": {
- "version": "1.15.8",
+ "node_modules/@docusaurus/core/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@types/sockjs": {
- "version": "0.3.36",
+ "node_modules/@docusaurus/core/node_modules/boxen": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz",
+ "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*"
+ "ansi-align": "^3.0.1",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.2",
+ "cli-boxes": "^3.0.0",
+ "string-width": "^5.0.1",
+ "type-fest": "^2.5.0",
+ "widest-line": "^4.0.1",
+ "wrap-ansi": "^8.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@types/tmp": {
- "version": "0.0.33",
- "license": "MIT"
+ "node_modules/@docusaurus/core/node_modules/cli-boxes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz",
+ "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/@types/unist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "license": "MIT"
+ "node_modules/@docusaurus/core/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
},
- "node_modules/@types/ws": {
- "version": "8.18.1",
+ "node_modules/@docusaurus/core/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/node": "*"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/@types/yoga-layout": {
- "version": "1.9.2",
- "license": "MIT"
+ "node_modules/@docusaurus/core/node_modules/html-minifier-terser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
+ "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==",
+ "license": "MIT",
+ "dependencies": {
+ "camel-case": "^4.1.2",
+ "clean-css": "^5.2.2",
+ "commander": "^8.3.0",
+ "he": "^1.2.0",
+ "param-case": "^3.0.4",
+ "relateurl": "^0.2.7",
+ "terser": "^5.10.0"
+ },
+ "bin": {
+ "html-minifier-terser": "cli.js"
+ },
+ "engines": {
+ "node": ">=12"
+ }
},
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "4.33.0",
+ "node_modules/@docusaurus/core/node_modules/html-minifier-terser/node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/html-webpack-plugin": {
+ "version": "5.6.5",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.5.tgz",
+ "integrity": "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@typescript-eslint/experimental-utils": "4.33.0",
- "@typescript-eslint/scope-manager": "4.33.0",
- "debug": "^4.3.1",
- "functional-red-black-tree": "^1.0.1",
- "ignore": "^5.1.8",
- "regexpp": "^3.1.0",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
+ "@types/html-minifier-terser": "^6.0.0",
+ "html-minifier-terser": "^6.0.2",
+ "lodash": "^4.17.21",
+ "pretty-error": "^4.0.0",
+ "tapable": "^2.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=10.13.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://opencollective.com/html-webpack-plugin"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^4.0.0",
- "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ "@rspack/core": "0.x || 1.x",
+ "webpack": "^5.20.0"
},
"peerDependenciesMeta": {
- "typescript": {
+ "@rspack/core": {
+ "optional": true
+ },
+ "webpack": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": {
- "version": "4.3.4",
+ "node_modules/@docusaurus/core/node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "ms": "2.1.2"
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
},
"engines": {
- "node": ">=6.0"
+ "node": ">=12"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": {
- "version": "2.1.2",
+ "node_modules/@docusaurus/core/node_modules/pretty-error": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
+ "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
"license": "MIT",
- "peer": true
+ "dependencies": {
+ "lodash": "^4.17.20",
+ "renderkid": "^3.0.0"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/renderkid": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
+ "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
+ "license": "MIT",
+ "dependencies": {
+ "css-select": "^4.1.3",
+ "dom-converter": "^0.2.0",
+ "htmlparser2": "^6.1.0",
+ "lodash": "^4.17.21",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/string-width/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/core/node_modules/type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@docusaurus/core/node_modules/webpack-merge": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz",
+ "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==",
+ "license": "MIT",
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
+ "wildcard": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
},
- "node_modules/@typescript-eslint/experimental-utils": {
- "version": "4.33.0",
+ "node_modules/@docusaurus/core/node_modules/widest-line": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
+ "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@types/json-schema": "^7.0.7",
- "@typescript-eslint/scope-manager": "4.33.0",
- "@typescript-eslint/types": "4.33.0",
- "@typescript-eslint/typescript-estree": "4.33.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^3.0.0"
+ "string-width": "^5.0.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=12"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@typescript-eslint/parser": {
- "version": "4.33.0",
- "license": "BSD-2-Clause",
- "peer": true,
+ "node_modules/@docusaurus/core/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "4.33.0",
- "@typescript-eslint/types": "4.33.0",
- "@typescript-eslint/typescript-estree": "4.33.0",
- "debug": "^4.3.1"
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=12"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/debug": {
- "version": "4.3.4",
+ "node_modules/@docusaurus/core/node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "ms": "2.1.2"
+ "ansi-regex": "^6.0.1"
},
"engines": {
- "node": ">=6.0"
+ "node": ">=12"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "4.33.0",
+ "node_modules/@docusaurus/cssnano-preset": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.9.2.tgz",
+ "integrity": "sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@typescript-eslint/types": "4.33.0",
- "@typescript-eslint/visitor-keys": "4.33.0"
+ "cssnano-preset-advanced": "^6.1.2",
+ "postcss": "^8.5.4",
+ "postcss-sort-media-queries": "^5.2.0",
+ "tslib": "^2.6.0"
},
"engines": {
- "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">=20.0"
}
},
- "node_modules/@typescript-eslint/types": {
- "version": "4.33.0",
+ "node_modules/@docusaurus/cssnano-preset/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/logger": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.9.2.tgz",
+ "integrity": "sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==",
"license": "MIT",
- "peer": true,
- "engines": {
- "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "tslib": "^2.6.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "engines": {
+ "node": ">=20.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "4.33.0",
- "license": "BSD-2-Clause",
- "peer": true,
+ "node_modules/@docusaurus/logger/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/mdx-loader": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.2.tgz",
+ "integrity": "sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==",
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "4.33.0",
- "@typescript-eslint/visitor-keys": "4.33.0",
- "debug": "^4.3.1",
- "globby": "^11.0.3",
- "is-glob": "^4.0.1",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@mdx-js/mdx": "^3.0.0",
+ "@slorber/remark-comment": "^1.0.0",
+ "escape-html": "^1.0.3",
+ "estree-util-value-to-estree": "^3.0.1",
+ "file-loader": "^6.2.0",
+ "fs-extra": "^11.1.1",
+ "image-size": "^2.0.2",
+ "mdast-util-mdx": "^3.0.0",
+ "mdast-util-to-string": "^4.0.0",
+ "rehype-raw": "^7.0.0",
+ "remark-directive": "^3.0.0",
+ "remark-emoji": "^4.0.0",
+ "remark-frontmatter": "^5.0.0",
+ "remark-gfm": "^4.0.0",
+ "stringify-object": "^3.3.0",
+ "tslib": "^2.6.0",
+ "unified": "^11.0.3",
+ "unist-util-visit": "^5.0.0",
+ "url-loader": "^4.1.1",
+ "vfile": "^6.0.1",
+ "webpack": "^5.88.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">=20.0"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": {
- "version": "4.3.4",
+ "node_modules/@docusaurus/mdx-loader/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "ms": "2.1.2"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=14.14"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT",
- "peer": true
+ "node_modules/@docusaurus/mdx-loader/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "4.33.0",
+ "node_modules/@docusaurus/module-type-aliases": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.9.2.tgz",
+ "integrity": "sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@typescript-eslint/types": "4.33.0",
- "eslint-visitor-keys": "^2.0.0"
+ "@docusaurus/types": "3.9.2",
+ "@types/history": "^4.7.11",
+ "@types/react": "*",
+ "@types/react-router-config": "*",
+ "@types/react-router-dom": "*",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
+ "react-loadable": "npm:@docusaurus/react-loadable@6.0.0"
+ },
+ "peerDependencies": {
+ "react": "*",
+ "react-dom": "*"
+ }
+ },
+ "node_modules/@docusaurus/plugin-content-blog": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.9.2.tgz",
+ "integrity": "sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "cheerio": "1.0.0-rc.12",
+ "feed": "^4.2.2",
+ "fs-extra": "^11.1.1",
+ "lodash": "^4.17.21",
+ "schema-dts": "^1.1.2",
+ "srcset": "^4.0.0",
+ "tslib": "^2.6.0",
+ "unist-util-visit": "^5.0.0",
+ "utility-types": "^3.10.0",
+ "webpack": "^5.88.1"
},
"engines": {
- "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ "node": ">=20.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "peerDependencies": {
+ "@docusaurus/plugin-content-docs": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@vercel/webpack-asset-relocator-loader": {
- "version": "1.7.3",
+ "node_modules/@docusaurus/plugin-content-blog/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "resolve": "^1.10.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/@webassemblyjs/ast": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-content-blog/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/plugin-content-docs": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz",
+ "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@types/react-router-config": "^5.0.7",
+ "combine-promises": "^1.1.0",
+ "fs-extra": "^11.1.1",
+ "js-yaml": "^4.1.0",
+ "lodash": "^4.17.21",
+ "schema-dts": "^1.1.2",
+ "tslib": "^2.6.0",
+ "utility-types": "^3.10.0",
+ "webpack": "^5.88.1"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.13.2",
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.13.2",
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.14.1",
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.13.2",
+ "node_modules/@docusaurus/plugin-content-docs/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.13.2",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@xtuc/long": "4.2.2"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.13.2",
- "license": "MIT"
+ "node_modules/@docusaurus/plugin-content-docs/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-content-pages": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.9.2.tgz",
+ "integrity": "sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/wasm-gen": "1.14.1"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "fs-extra": "^11.1.1",
+ "tslib": "^2.6.0",
+ "webpack": "^5.88.1"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.13.2",
+ "node_modules/@docusaurus/plugin-content-pages/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "@xtuc/ieee754": "^1.2.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.13.2",
- "license": "Apache-2.0",
+ "node_modules/@docusaurus/plugin-content-pages/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/plugin-css-cascade-layers": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.9.2.tgz",
+ "integrity": "sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==",
+ "license": "MIT",
"dependencies": {
- "@xtuc/long": "4.2.2"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
}
},
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.13.2",
- "license": "MIT"
+ "node_modules/@docusaurus/plugin-css-cascade-layers/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-debug": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.9.2.tgz",
+ "integrity": "sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/helper-wasm-section": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-opt": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1",
- "@webassemblyjs/wast-printer": "1.14.1"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "fs-extra": "^11.1.1",
+ "react-json-view-lite": "^2.3.0",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-debug/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-debug/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/plugin-google-analytics": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.9.2.tgz",
+ "integrity": "sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-google-analytics/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/plugin-google-gtag": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.9.2.tgz",
+ "integrity": "sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@types/gtag.js": "^0.0.12",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.14.1",
+ "node_modules/@docusaurus/plugin-google-gtag/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/plugin-google-tag-manager": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.9.2.tgz",
+ "integrity": "sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==",
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@xtuc/long": "4.2.2"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "license": "BSD-3-Clause"
+ "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "license": "Apache-2.0"
+ "node_modules/@docusaurus/plugin-sitemap": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.9.2.tgz",
+ "integrity": "sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "fs-extra": "^11.1.1",
+ "sitemap": "^7.1.1",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ }
},
- "node_modules/abort-controller": {
- "version": "3.0.0",
+ "node_modules/@docusaurus/plugin-sitemap/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "event-target-shim": "^5.0.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=6.5"
+ "node": ">=14.14"
}
},
- "node_modules/abortcontroller-polyfill": {
- "version": "1.7.8",
- "license": "MIT"
+ "node_modules/@docusaurus/plugin-sitemap/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/accepts": {
- "version": "1.3.8",
+ "node_modules/@docusaurus/plugin-svgr": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.9.2.tgz",
+ "integrity": "sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==",
"license": "MIT",
"dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@svgr/core": "8.1.0",
+ "@svgr/webpack": "^8.1.0",
+ "tslib": "^2.6.0",
+ "webpack": "^5.88.1"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/accepts/node_modules/negotiator": {
- "version": "0.6.3",
+ "node_modules/@docusaurus/plugin-svgr/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/preset-classic": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.2.tgz",
+ "integrity": "sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==",
"license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/plugin-content-blog": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/plugin-content-pages": "3.9.2",
+ "@docusaurus/plugin-css-cascade-layers": "3.9.2",
+ "@docusaurus/plugin-debug": "3.9.2",
+ "@docusaurus/plugin-google-analytics": "3.9.2",
+ "@docusaurus/plugin-google-gtag": "3.9.2",
+ "@docusaurus/plugin-google-tag-manager": "3.9.2",
+ "@docusaurus/plugin-sitemap": "3.9.2",
+ "@docusaurus/plugin-svgr": "3.9.2",
+ "@docusaurus/theme-classic": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-search-algolia": "3.9.2",
+ "@docusaurus/types": "3.9.2"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@docusaurus/theme-classic": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.9.2.tgz",
+ "integrity": "sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/plugin-content-blog": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/plugin-content-pages": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-translations": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@mdx-js/react": "^3.0.0",
+ "clsx": "^2.0.0",
+ "infima": "0.2.0-alpha.45",
+ "lodash": "^4.17.21",
+ "nprogress": "^0.2.0",
+ "postcss": "^8.5.4",
+ "prism-react-renderer": "^2.3.0",
+ "prismjs": "^1.29.0",
+ "react-router-dom": "^5.3.4",
+ "rtlcss": "^4.1.0",
+ "tslib": "^2.6.0",
+ "utility-types": "^3.10.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/acorn": {
- "version": "7.4.1",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "node_modules/@docusaurus/theme-classic/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/theme-common": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz",
+ "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@types/history": "^4.7.11",
+ "@types/react": "*",
+ "@types/react-router-config": "*",
+ "clsx": "^2.0.0",
+ "parse-numeric-range": "^1.3.0",
+ "prism-react-renderer": "^2.3.0",
+ "tslib": "^2.6.0",
+ "utility-types": "^3.10.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "@docusaurus/plugin-content-docs": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "license": "MIT",
+ "node_modules/@docusaurus/theme-common/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/theme-search-algolia": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz",
+ "integrity": "sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==",
+ "license": "MIT",
+ "dependencies": {
+ "@docsearch/react": "^3.9.0 || ^4.1.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-translations": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "algoliasearch": "^5.37.0",
+ "algoliasearch-helper": "^3.26.0",
+ "clsx": "^2.0.0",
+ "eta": "^2.2.0",
+ "fs-extra": "^11.1.1",
+ "lodash": "^4.17.21",
+ "tslib": "^2.6.0",
+ "utility-types": "^3.10.0"
+ },
+ "engines": {
+ "node": ">=20.0"
+ },
"peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/acorn-loose": {
- "version": "8.5.0",
+ "node_modules/@docusaurus/theme-search-algolia/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "acorn": "^8.14.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=14.14"
}
},
- "node_modules/acorn-loose/node_modules/acorn": {
- "version": "8.14.1",
+ "node_modules/@docusaurus/theme-search-algolia/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/theme-translations": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.9.2.tgz",
+ "integrity": "sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==",
"license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "dependencies": {
+ "fs-extra": "^11.1.1",
+ "tslib": "^2.6.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=20.0"
}
},
- "node_modules/acorn-walk": {
- "version": "8.3.4",
+ "node_modules/@docusaurus/theme-translations/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
- "acorn": "^8.11.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=14.14"
}
},
- "node_modules/acorn-walk/node_modules/acorn": {
- "version": "8.14.1",
+ "node_modules/@docusaurus/theme-translations/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/types": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.2.tgz",
+ "integrity": "sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==",
"license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "dependencies": {
+ "@mdx-js/mdx": "^3.0.0",
+ "@types/history": "^4.7.11",
+ "@types/mdast": "^4.0.2",
+ "@types/react": "*",
+ "commander": "^5.1.0",
+ "joi": "^17.9.2",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
+ "utility-types": "^3.10.0",
+ "webpack": "^5.95.0",
+ "webpack-merge": "^5.9.0"
},
- "engines": {
- "node": ">=0.4.0"
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/address": {
- "version": "1.2.2",
+ "node_modules/@docusaurus/types/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"license": "MIT",
"engines": {
- "node": ">= 10.0.0"
+ "node": ">= 6"
}
},
- "node_modules/ajv": {
- "version": "6.12.6",
+ "node_modules/@docusaurus/utils": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.2.tgz",
+ "integrity": "sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==",
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "escape-string-regexp": "^4.0.0",
+ "execa": "5.1.1",
+ "file-loader": "^6.2.0",
+ "fs-extra": "^11.1.1",
+ "github-slugger": "^1.5.0",
+ "globby": "^11.1.0",
+ "gray-matter": "^4.0.3",
+ "jiti": "^1.20.0",
+ "js-yaml": "^4.1.0",
+ "lodash": "^4.17.21",
+ "micromatch": "^4.0.5",
+ "p-queue": "^6.6.2",
+ "prompts": "^2.4.2",
+ "resolve-pathname": "^3.0.0",
+ "tslib": "^2.6.0",
+ "url-loader": "^4.1.1",
+ "utility-types": "^3.10.0",
+ "webpack": "^5.88.1"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "engines": {
+ "node": ">=20.0"
}
},
- "node_modules/ajv-formats": {
- "version": "2.1.1",
+ "node_modules/@docusaurus/utils-common": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.9.2.tgz",
+ "integrity": "sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==",
"license": "MIT",
"dependencies": {
- "ajv": "^8.0.0"
+ "@docusaurus/types": "3.9.2",
+ "tslib": "^2.6.0"
},
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
+ "engines": {
+ "node": ">=20.0"
}
},
- "node_modules/ajv-formats/node_modules/ajv": {
- "version": "8.17.1",
+ "node_modules/@docusaurus/utils-common/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@docusaurus/utils-validation": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.9.2.tgz",
+ "integrity": "sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==",
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "fs-extra": "^11.2.0",
+ "joi": "^17.9.2",
+ "js-yaml": "^4.1.0",
+ "lodash": "^4.17.21",
+ "tslib": "^2.6.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "engines": {
+ "node": ">=20.0"
}
},
- "node_modules/ajv-formats/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/ajv-keywords": {
- "version": "3.5.2",
+ "node_modules/@docusaurus/utils-validation/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
- "peerDependencies": {
- "ajv": "^6.9.1"
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/anser": {
- "version": "2.1.1",
- "license": "MIT"
+ "node_modules/@docusaurus/utils-validation/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
- "node_modules/ansi-align": {
- "version": "3.0.1",
- "license": "ISC",
+ "node_modules/@docusaurus/utils/node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+ "license": "MIT",
"dependencies": {
- "string-width": "^4.1.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
+ "node_modules/@docusaurus/utils/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-inspector/core": {
+ "version": "3.3.0",
"license": "MIT",
"dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
+ "dependency-graph": "0.11.0",
+ "object-inspect": "1.10.3",
+ "tslib": "^2.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "graphql": "^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/ansi-escapes/node_modules/type-fest": {
- "version": "0.21.3",
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
+ "node_modules/@graphql-inspector/core/node_modules/object-inspect": {
+ "version": "1.10.3",
+ "license": "MIT",
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/ansi-html": {
- "version": "0.0.9",
- "engines": [
- "node >= 0.8.0"
- ],
- "license": "Apache-2.0",
- "bin": {
- "ansi-html": "bin/ansi-html"
+ "node_modules/@graphql-inspector/core/node_modules/tslib": {
+ "version": "2.4.0",
+ "license": "0BSD"
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
}
},
- "node_modules/ansi-html-community": {
- "version": "0.0.8",
- "engines": [
- "node >= 0.8.0"
- ],
- "license": "Apache-2.0",
- "bin": {
- "ansi-html": "bin/ansi-html"
+ "node_modules/@iarna/toml": {
+ "version": "2.2.5",
+ "license": "ISC"
+ },
+ "node_modules/@inquirer/checkbox": {
+ "version": "4.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/figures": "^1.0.11",
+ "@inquirer/type": "^3.0.6",
+ "ansi-escapes": "^4.3.2",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/ansi-regex": {
- "version": "5.0.1",
+ "node_modules/@inquirer/confirm": {
+ "version": "5.1.10",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/ansi-styles": {
- "version": "4.3.0",
+ "node_modules/@inquirer/core": {
+ "version": "10.1.11",
"license": "MIT",
"dependencies": {
- "color-convert": "^2.0.1"
+ "@inquirer/figures": "^1.0.11",
+ "@inquirer/type": "^3.0.6",
+ "ansi-escapes": "^4.3.2",
+ "cli-width": "^4.1.0",
+ "mute-stream": "^2.0.0",
+ "signal-exit": "^4.1.0",
+ "wrap-ansi": "^6.2.0",
+ "yoctocolors-cjs": "^2.1.2"
},
"engines": {
- "node": ">=8"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/anymatch": {
- "version": "3.1.2",
+ "node_modules/@inquirer/core/node_modules/cli-width": {
+ "version": "4.1.0",
"license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
"engines": {
- "node": ">= 8"
+ "node": ">= 12"
}
},
- "node_modules/append-field": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/application-config-path": {
- "version": "0.1.0",
- "license": "MIT"
+ "node_modules/@inquirer/core/node_modules/mute-stream": {
+ "version": "2.0.0",
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
},
- "node_modules/argparse": {
- "version": "2.0.1",
- "license": "Python-2.0"
+ "node_modules/@inquirer/core/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
},
- "node_modules/aria-query": {
- "version": "5.3.2",
- "license": "Apache-2.0",
+ "node_modules/@inquirer/core/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
"engines": {
- "node": ">= 0.4"
+ "node": ">=8"
}
},
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.2",
+ "node_modules/@inquirer/editor": {
+ "version": "4.2.11",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "is-array-buffer": "^3.0.5"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6",
+ "external-editor": "^3.1.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "license": "MIT"
- },
- "node_modules/array-includes": {
- "version": "3.1.8",
+ "node_modules/@inquirer/expand": {
+ "version": "4.0.13",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "is-string": "^1.0.7"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6",
+ "yoctocolors-cjs": "^2.1.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array-union": {
- "version": "2.1.0",
+ "node_modules/@inquirer/figures": {
+ "version": "1.0.11",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/array.prototype.findlast": {
- "version": "1.2.5",
+ "node_modules/@inquirer/input": {
+ "version": "4.1.10",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "es-shim-unscopables": "^1.0.2"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array.prototype.findlastindex": {
- "version": "1.2.6",
+ "node_modules/@inquirer/number": {
+ "version": "3.0.13",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "es-shim-unscopables": "^1.1.0"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array.prototype.flat": {
- "version": "1.3.3",
+ "node_modules/@inquirer/password": {
+ "version": "4.0.13",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-shim-unscopables": "^1.0.2"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6",
+ "ansi-escapes": "^4.3.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.3",
+ "node_modules/@inquirer/prompts": {
+ "version": "7.5.1",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-shim-unscopables": "^1.0.2"
+ "@inquirer/checkbox": "^4.1.6",
+ "@inquirer/confirm": "^5.1.10",
+ "@inquirer/editor": "^4.2.11",
+ "@inquirer/expand": "^4.0.13",
+ "@inquirer/input": "^4.1.10",
+ "@inquirer/number": "^3.0.13",
+ "@inquirer/password": "^4.0.13",
+ "@inquirer/rawlist": "^4.1.1",
+ "@inquirer/search": "^3.0.13",
+ "@inquirer/select": "^4.2.1"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.4",
+ "node_modules/@inquirer/rawlist": {
+ "version": "4.1.1",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.3",
- "es-errors": "^1.3.0",
- "es-shim-unscopables": "^1.0.2"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/type": "^3.0.6",
+ "yoctocolors-cjs": "^2.1.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.4",
+ "node_modules/@inquirer/search": {
+ "version": "3.0.13",
"license": "MIT",
"dependencies": {
- "array-buffer-byte-length": "^1.0.1",
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "is-array-buffer": "^3.0.4"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/figures": "^1.0.11",
+ "@inquirer/type": "^3.0.6",
+ "yoctocolors-cjs": "^2.1.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/arrify": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/asap": {
- "version": "2.0.6",
- "license": "MIT"
- },
- "node_modules/ast-types-flow": {
- "version": "0.0.8",
- "license": "MIT"
- },
- "node_modules/astral-regex": {
- "version": "2.0.0",
+ "node_modules/@inquirer/select": {
+ "version": "4.2.1",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/figures": "^1.0.11",
+ "@inquirer/type": "^3.0.6",
+ "ansi-escapes": "^4.3.2",
+ "yoctocolors-cjs": "^2.1.2"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/async": {
- "version": "1.5.2",
- "license": "MIT"
- },
- "node_modules/async-function": {
- "version": "1.0.0",
+ "node_modules/@inquirer/type": {
+ "version": "3.0.6",
"license": "MIT",
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/asynckit": {
- "version": "0.4.0",
- "license": "MIT"
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "license": "ISC",
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
"engines": {
- "node": ">= 4.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/auto-bind": {
- "version": "4.0.0",
+ "node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"license": "MIT",
- "engines": {
- "node": ">=8"
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/autoprefixer": {
- "version": "10.4.21",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.8",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.24.4",
- "caniuse-lite": "^1.0.30001702",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.1.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "node": ">=6.0.0"
}
},
- "node_modules/available-typed-arrays": {
- "version": "1.0.7",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
"license": "MIT",
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=6.0.0"
}
},
- "node_modules/axe-core": {
- "version": "4.10.3",
- "license": "MPL-2.0",
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
- "node_modules/axios": {
- "version": "1.9.0",
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.6",
"license": "MIT",
"dependencies": {
- "follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
- "node_modules/axios/node_modules/form-data": {
- "version": "4.0.2",
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
"license": "MIT",
"dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/axobject-query": {
- "version": "4.1.0",
+ "node_modules/@json-schema-spec/json-pointer": {
+ "version": "0.1.2",
+ "license": "MIT"
+ },
+ "node_modules/@json-schema-tools/dereferencer": {
+ "version": "1.6.3",
"license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
+ "dependencies": {
+ "@json-schema-tools/reference-resolver": "^1.2.6",
+ "@json-schema-tools/traverse": "^1.10.4",
+ "fast-safe-stringify": "^2.1.1"
}
},
- "node_modules/b4a": {
- "version": "1.6.7",
+ "node_modules/@json-schema-tools/meta-schema": {
+ "version": "1.7.5",
"license": "Apache-2.0"
},
- "node_modules/babel-eslint": {
- "version": "10.1.0",
- "license": "MIT",
- "peer": true,
+ "node_modules/@json-schema-tools/reference-resolver": {
+ "version": "1.2.6",
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.0",
- "@babel/traverse": "^7.7.0",
- "@babel/types": "^7.7.0",
- "eslint-visitor-keys": "^1.0.0",
- "resolve": "^1.12.0"
- },
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "eslint": ">= 4.12.1"
+ "@json-schema-spec/json-pointer": "^0.1.2",
+ "isomorphic-fetch": "^3.0.0"
}
},
- "node_modules/babel-eslint/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
+ "node_modules/@json-schema-tools/referencer": {
+ "version": "1.1.3",
"license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "@json-schema-tools/traverse": "^1.10.4"
}
},
- "node_modules/babel-jsx-utils": {
- "version": "1.1.0",
- "license": "MIT"
- },
- "node_modules/babel-loader": {
- "version": "8.4.1",
- "license": "MIT",
+ "node_modules/@json-schema-tools/titleizer": {
+ "version": "1.0.9",
+ "license": "Apache-2.0",
"dependencies": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^2.0.4",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- },
- "engines": {
- "node": ">= 8.9"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0",
- "webpack": ">=2"
+ "@json-schema-tools/traverse": "^1.10.4"
}
},
- "node_modules/babel-loader/node_modules/schema-utils": {
- "version": "2.7.1",
- "license": "MIT",
+ "node_modules/@json-schema-tools/transpiler": {
+ "version": "1.10.5",
+ "license": "Apache-2.0",
"dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "@json-schema-tools/referencer": "^1.1.3",
+ "@json-schema-tools/titleizer": "^1.0.9",
+ "@json-schema-tools/traverse": "^1.10.4",
+ "lodash.camelcase": "^4.3.0",
+ "lodash.deburr": "^4.1.0",
+ "lodash.snakecase": "^4.1.1",
+ "lodash.trim": "^4.5.1"
}
},
- "node_modules/babel-plugin-add-module-exports": {
- "version": "1.0.4",
+ "node_modules/@json-schema-tools/traverse": {
+ "version": "1.10.4",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@leichtgewicht/ip-codec": {
+ "version": "2.0.5",
"license": "MIT"
},
- "node_modules/babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
+ "node_modules/@mdx-js/mdx": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz",
+ "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==",
"license": "MIT",
"dependencies": {
- "object.assign": "^4.1.0"
+ "@types/estree": "^1.0.0",
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdx": "^2.0.0",
+ "acorn": "^8.0.0",
+ "collapse-white-space": "^2.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "estree-util-scope": "^1.0.0",
+ "estree-walker": "^3.0.0",
+ "hast-util-to-jsx-runtime": "^2.0.0",
+ "markdown-extensions": "^2.0.0",
+ "recma-build-jsx": "^1.0.0",
+ "recma-jsx": "^1.0.0",
+ "recma-stringify": "^1.0.0",
+ "rehype-recma": "^1.0.0",
+ "remark-mdx": "^3.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-rehype": "^11.0.0",
+ "source-map": "^0.7.0",
+ "unified": "^11.0.0",
+ "unist-util-position-from-estree": "^2.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/babel-plugin-macros": {
- "version": "3.1.0",
+ "node_modules/@mdx-js/mdx/node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "cosmiconfig": "^7.0.0",
- "resolve": "^1.19.0"
+ "bin": {
+ "acorn": "bin/acorn"
},
"engines": {
- "node": ">=10",
- "npm": ">=6"
+ "node": ">=0.4.0"
}
},
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.13",
+ "node_modules/@mdx-js/react": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz",
+ "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.4",
- "semver": "^6.3.1"
+ "@types/mdx": "^2.0.0"
},
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.11.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.3",
- "core-js-compat": "^3.40.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
},
"peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ "@types/react": ">=16",
+ "react": ">=16"
}
},
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.4",
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.4"
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
},
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
}
},
- "node_modules/babel-plugin-remove-graphql-queries": {
- "version": "5.14.0",
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "@babel/types": "^7.20.7",
- "gatsby-core-utils": "^4.14.0"
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@open-rpc/docusaurus-plugin": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@open-rpc/docusaurus-plugin/-/docusaurus-plugin-0.1.0.tgz",
+ "integrity": "sha512-1LBNypNXL634Qp/1He6OuWqlRXgOELN1ahIqVA2BCWQ0GnltfJ6z0WOyXpfdKzKvJKpDLGgrngzZ5LhMSHPMWQ==",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@open-rpc/markdown-generator": "0.1.0",
+ "@open-rpc/meta-schema": "^1.14.9",
+ "@open-rpc/schema-utils-js": "^2.1.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0",
- "gatsby": "^5.0.0-next"
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0"
}
},
- "node_modules/babel-plugin-syntax-trailing-function-commas": {
- "version": "7.0.0-beta.0",
- "license": "MIT"
- },
- "node_modules/babel-plugin-transform-react-remove-prop-types": {
- "version": "0.4.24",
- "license": "MIT"
- },
- "node_modules/babel-preset-fbjs": {
- "version": "3.4.0",
- "license": "MIT",
- "dependencies": {
- "@babel/plugin-proposal-class-properties": "^7.0.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
- "@babel/plugin-syntax-class-properties": "^7.0.0",
- "@babel/plugin-syntax-flow": "^7.0.0",
- "@babel/plugin-syntax-jsx": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
- "@babel/plugin-transform-arrow-functions": "^7.0.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
- "@babel/plugin-transform-block-scoping": "^7.0.0",
- "@babel/plugin-transform-classes": "^7.0.0",
- "@babel/plugin-transform-computed-properties": "^7.0.0",
- "@babel/plugin-transform-destructuring": "^7.0.0",
- "@babel/plugin-transform-flow-strip-types": "^7.0.0",
- "@babel/plugin-transform-for-of": "^7.0.0",
- "@babel/plugin-transform-function-name": "^7.0.0",
- "@babel/plugin-transform-literals": "^7.0.0",
- "@babel/plugin-transform-member-expression-literals": "^7.0.0",
- "@babel/plugin-transform-modules-commonjs": "^7.0.0",
- "@babel/plugin-transform-object-super": "^7.0.0",
- "@babel/plugin-transform-parameters": "^7.0.0",
- "@babel/plugin-transform-property-literals": "^7.0.0",
- "@babel/plugin-transform-react-display-name": "^7.0.0",
- "@babel/plugin-transform-react-jsx": "^7.0.0",
- "@babel/plugin-transform-shorthand-properties": "^7.0.0",
- "@babel/plugin-transform-spread": "^7.0.0",
- "@babel/plugin-transform-template-literals": "^7.0.0",
- "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0"
+ "node_modules/@open-rpc/generator": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@open-rpc/generator/-/generator-2.1.0.tgz",
+ "integrity": "sha512-K1NLJzBGdD6wVQXl73zonktOoo6dXSTHm2fP4Rx5QiWJREr8gutvXMh2Dd6yZcDsLmC8F7BcFZm4bwss0JJ0Tw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@iarna/toml": "^2.2.5",
+ "@open-rpc/typings": "^1.12.4",
+ "commander": "^7.2.0",
+ "fs-extra": "^11.2.0",
+ "inquirer": "^12.4.2",
+ "lodash": "^4.17.21"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "bin": {
+ "open-rpc-generator": "build/cli.js"
}
},
- "node_modules/babel-preset-gatsby": {
- "version": "3.14.0",
+ "node_modules/@open-rpc/generator/node_modules/fs-extra": {
+ "version": "11.3.0",
"license": "MIT",
"dependencies": {
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.20.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-classes": "^7.20.7",
- "@babel/plugin-transform-runtime": "^7.19.6",
- "@babel/plugin-transform-spread": "^7.20.7",
- "@babel/preset-env": "^7.20.2",
- "@babel/preset-react": "^7.18.6",
- "@babel/runtime": "^7.20.13",
- "babel-plugin-dynamic-import-node": "^2.3.3",
- "babel-plugin-macros": "^3.1.0",
- "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
- "gatsby-core-utils": "^4.14.0",
- "gatsby-legacy-polyfills": "^3.14.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.11.6",
- "core-js": "^3.0.0"
+ "node": ">=14.14"
}
},
- "node_modules/bail": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
- "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "node_modules/@open-rpc/generator/node_modules/inquirer": {
+ "version": "12.6.1",
"license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/bare-events": {
- "version": "2.5.4",
- "license": "Apache-2.0",
- "optional": true
- },
- "node_modules/bare-fs": {
- "version": "4.1.5",
- "license": "Apache-2.0",
- "optional": true,
"dependencies": {
- "bare-events": "^2.5.4",
- "bare-path": "^3.0.0",
- "bare-stream": "^2.6.4"
+ "@inquirer/core": "^10.1.11",
+ "@inquirer/prompts": "^7.5.1",
+ "@inquirer/type": "^3.0.6",
+ "ansi-escapes": "^4.3.2",
+ "mute-stream": "^2.0.0",
+ "run-async": "^3.0.0",
+ "rxjs": "^7.8.2"
},
"engines": {
- "bare": ">=1.16.0"
+ "node": ">=18"
},
"peerDependencies": {
- "bare-buffer": "*"
+ "@types/node": ">=18"
},
"peerDependenciesMeta": {
- "bare-buffer": {
+ "@types/node": {
"optional": true
}
}
},
- "node_modules/bare-os": {
- "version": "3.6.1",
- "license": "Apache-2.0",
- "optional": true,
+ "node_modules/@open-rpc/generator/node_modules/mute-stream": {
+ "version": "2.0.0",
+ "license": "ISC",
"engines": {
- "bare": ">=1.14.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/bare-path": {
+ "node_modules/@open-rpc/generator/node_modules/run-async": {
"version": "3.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/@open-rpc/generator/node_modules/rxjs": {
+ "version": "7.8.2",
"license": "Apache-2.0",
- "optional": true,
"dependencies": {
- "bare-os": "^3.0.1"
+ "tslib": "^2.1.0"
}
},
- "node_modules/bare-stream": {
- "version": "2.6.5",
- "license": "Apache-2.0",
- "optional": true,
+ "node_modules/@open-rpc/generator/node_modules/tslib": {
+ "version": "2.8.1",
+ "license": "0BSD"
+ },
+ "node_modules/@open-rpc/markdown-generator": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@open-rpc/markdown-generator/-/markdown-generator-0.1.0.tgz",
+ "integrity": "sha512-oOSSV9LbLamXu3GvEcNsQg96JkEVQMg9UK9iazNr3JP6fXG8EPuYuMeeTHa8tWGj+BLcOm8PhgjvbAQPMYFUAQ==",
"dependencies": {
- "streamx": "^2.21.0"
- },
- "peerDependencies": {
- "bare-buffer": "*",
- "bare-events": "*"
+ "@open-rpc/schema-utils-js": "^2.1.2",
+ "@types/mdast": "^4.0.4",
+ "mdast-util-from-markdown": "^2.0.2",
+ "mdast-util-frontmatter": "^2.0.1",
+ "micromark-extension-gfm": "^3.0.0"
},
- "peerDependenciesMeta": {
- "bare-buffer": {
- "optional": true
- },
- "bare-events": {
- "optional": true
- }
+ "bin": {
+ "openrpc-md": "dist/cli.js"
}
},
- "node_modules/base-x": {
- "version": "3.0.11",
- "license": "MIT",
+ "node_modules/@open-rpc/meta-schema": {
+ "version": "1.14.9",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@open-rpc/schema-utils-js": {
+ "version": "2.1.2",
+ "license": "Apache-2.0",
"dependencies": {
- "safe-buffer": "^5.0.1"
+ "@json-schema-tools/dereferencer": "^1.6.3",
+ "@json-schema-tools/meta-schema": "^1.7.5",
+ "@json-schema-tools/reference-resolver": "^1.2.6",
+ "@open-rpc/meta-schema": "^1.14.9",
+ "@open-rpc/specification-extension-spec": "^1.0.2",
+ "ajv": "^6.10.0",
+ "detect-node": "^2.0.4",
+ "fast-safe-stringify": "^2.0.7",
+ "fs-extra": "^10.1.0",
+ "is-url": "^1.2.4",
+ "isomorphic-fetch": "^3.0.0"
}
},
- "node_modules/base64-js": {
- "version": "1.5.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/base64id": {
- "version": "2.0.0",
+ "node_modules/@open-rpc/schema-utils-js/node_modules/fs-extra": {
+ "version": "10.1.0",
"license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
"engines": {
- "node": "^4.5.0 || >= 5.9"
+ "node": ">=12"
}
},
- "node_modules/batch": {
- "version": "0.6.1",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "node_modules/@open-rpc/specification-extension-spec": {
+ "version": "1.0.2",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.0.0"
+ }
},
- "node_modules/better-opn": {
- "version": "2.1.1",
- "license": "MIT",
+ "node_modules/@open-rpc/typings": {
+ "version": "1.12.4",
+ "license": "Apache 2.0",
"dependencies": {
- "open": "^7.0.3"
+ "@json-schema-tools/titleizer": "1.0.9",
+ "@json-schema-tools/transpiler": "^1.10.5",
+ "@open-rpc/schema-utils-js": "2.0.2",
+ "commander": "^6.0.0",
+ "fs-extra": "^10.0.0"
},
- "engines": {
- "node": ">8.0.0"
+ "bin": {
+ "open-rpc-typings": "build/cli.js"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "license": "MIT",
- "engines": {
- "node": "*"
+ "node_modules/@open-rpc/typings/node_modules/@open-rpc/schema-utils-js": {
+ "version": "2.0.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@json-schema-tools/dereferencer": "^1.6.3",
+ "@json-schema-tools/meta-schema": "^1.7.5",
+ "@json-schema-tools/reference-resolver": "^1.2.6",
+ "@open-rpc/meta-schema": "^1.14.9",
+ "ajv": "^6.10.0",
+ "detect-node": "^2.0.4",
+ "fast-safe-stringify": "^2.0.7",
+ "fs-extra": "^10.1.0",
+ "is-url": "^1.2.4",
+ "isomorphic-fetch": "^3.0.0"
}
},
- "node_modules/binary-extensions": {
- "version": "2.2.0",
+ "node_modules/@open-rpc/typings/node_modules/commander": {
+ "version": "6.2.1",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">= 6"
}
},
- "node_modules/bl": {
- "version": "4.1.0",
+ "node_modules/@open-rpc/typings/node_modules/fs-extra": {
+ "version": "10.1.0",
"license": "MIT",
"dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.2",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">= 6"
+ "node": ">=8.0.0"
}
},
- "node_modules/bluebird": {
- "version": "3.7.2",
- "license": "MIT"
+ "node_modules/@pnpm/config.env-replace": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.22.0"
+ }
},
- "node_modules/body-parser": {
- "version": "1.20.3",
+ "node_modules/@pnpm/network.ca-file": {
+ "version": "1.0.2",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
+ "graceful-fs": "4.2.10"
},
"engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
+ "node": ">=12.22.0"
}
},
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
+ "node_modules/@pnpm/npm-conf": {
+ "version": "2.3.1",
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "@pnpm/config.env-replace": "^1.1.0",
+ "@pnpm/network.ca-file": "^1.0.1",
+ "config-chain": "^1.1.11"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.29",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
+ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
"license": "MIT"
},
- "node_modules/bonjour-service": {
- "version": "1.3.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
+ "node_modules/@sideway/address": {
+ "version": "4.1.5",
+ "license": "BSD-3-Clause",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "multicast-dns": "^7.2.5"
+ "@hapi/hoek": "^9.0.0"
}
},
- "node_modules/boolbase": {
- "version": "1.0.0",
- "license": "ISC"
+ "node_modules/@sideway/formula": {
+ "version": "3.0.1",
+ "license": "BSD-3-Clause"
},
- "node_modules/boxen": {
- "version": "5.1.2",
+ "node_modules/@sideway/pinpoint": {
+ "version": "2.0.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "license": "MIT"
+ },
+ "node_modules/@sindresorhus/is": {
+ "version": "4.6.0",
"license": "MIT",
- "dependencies": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
- },
"engines": {
"node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
- "node_modules/brace-expansion": {
- "version": "1.1.11",
+ "node_modules/@slorber/remark-comment": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz",
+ "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==",
"license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.1.0",
+ "micromark-util-symbol": "^1.0.1"
}
},
- "node_modules/braces": {
- "version": "3.0.3",
+ "node_modules/@slorber/remark-comment/node_modules/micromark-factory-space": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
+ "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
}
},
- "node_modules/browserslist": {
- "version": "4.25.0",
+ "node_modules/@slorber/remark-comment/node_modules/micromark-util-character": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
+ "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
"funding": [
{
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
},
{
- "type": "github",
- "url": "https://github.com/sponsors/ai"
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
}
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001718",
- "electron-to-chromium": "^1.5.160",
- "node-releases": "^2.0.19",
- "update-browserslist-db": "^1.1.3"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/bser": {
- "version": "2.1.1",
- "license": "Apache-2.0",
- "dependencies": {
- "node-int64": "^0.4.0"
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
}
},
- "node_modules/buffer": {
- "version": "5.7.1",
+ "node_modules/@slorber/remark-comment/node_modules/micromark-util-symbol": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
+ "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
"funding": [
{
- "type": "github",
- "url": "https://github.com/sponsors/feross"
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
},
{
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/@slorber/remark-comment/node_modules/micromark-util-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
+ "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
},
{
- "type": "consulting",
- "url": "https://feross.org/support"
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
+ "license": "MIT"
},
- "node_modules/buffer-from": {
- "version": "1.1.2",
+ "node_modules/@standard-schema/spec": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
+ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
"license": "MIT"
},
- "node_modules/busboy": {
- "version": "1.6.0",
- "dependencies": {
- "streamsearch": "^1.1.0"
+ "node_modules/@svgr/babel-plugin-add-jsx-attribute": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz",
+ "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
},
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz",
+ "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==",
+ "license": "MIT",
"engines": {
- "node": ">=10.16.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/bytes": {
- "version": "3.1.2",
+ "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz",
+ "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==",
"license": "MIT",
"engines": {
- "node": ">= 0.8"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/cache-manager": {
- "version": "2.11.1",
+ "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz",
+ "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==",
"license": "MIT",
- "dependencies": {
- "async": "1.5.2",
- "lodash.clonedeep": "4.5.0",
- "lru-cache": "4.0.0"
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/cacheable-lookup": {
- "version": "5.0.4",
+ "node_modules/@svgr/babel-plugin-svg-dynamic-title": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz",
+ "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==",
"license": "MIT",
"engines": {
- "node": ">=10.6.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/cacheable-request": {
- "version": "7.0.4",
+ "node_modules/@svgr/babel-plugin-svg-em-dimensions": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz",
+ "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==",
"license": "MIT",
- "dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
+ "engines": {
+ "node": ">=14"
},
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-transform-react-native-svg": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz",
+ "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
+ "node_modules/@svgr/babel-plugin-transform-svg-component": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz",
+ "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@svgr/babel-preset": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz",
+ "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==",
"license": "MIT",
"dependencies": {
- "pump": "^3.0.0"
+ "@svgr/babel-plugin-add-jsx-attribute": "8.0.0",
+ "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0",
+ "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0",
+ "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0",
+ "@svgr/babel-plugin-svg-dynamic-title": "8.0.0",
+ "@svgr/babel-plugin-svg-em-dimensions": "8.0.0",
+ "@svgr/babel-plugin-transform-react-native-svg": "8.1.0",
+ "@svgr/babel-plugin-transform-svg-component": "8.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/call-bind": {
- "version": "1.0.8",
+ "node_modules/@svgr/core": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz",
+ "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
- "es-define-property": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.2"
+ "@babel/core": "^7.21.3",
+ "@svgr/babel-preset": "8.1.0",
+ "camelcase": "^6.2.0",
+ "cosmiconfig": "^8.1.3",
+ "snake-case": "^3.0.4"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=14"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
}
},
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
+ "node_modules/@svgr/core/node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/call-bound": {
- "version": "1.0.4",
+ "node_modules/@svgr/hast-util-to-babel-ast": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz",
+ "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "get-intrinsic": "^1.3.0"
+ "@babel/types": "^7.21.3",
+ "entities": "^4.4.0"
+ },
+ "engines": {
+ "node": ">=14"
},
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">= 0.4"
+ "node": ">=0.12"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/callsites": {
- "version": "3.1.0",
+ "node_modules/@svgr/plugin-jsx": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz",
+ "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==",
"license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.21.3",
+ "@svgr/babel-preset": "8.1.0",
+ "@svgr/hast-util-to-babel-ast": "8.0.0",
+ "svg-parser": "^2.0.4"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@svgr/core": "*"
}
},
- "node_modules/camel-case": {
- "version": "4.1.2",
+ "node_modules/@svgr/plugin-svgo": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz",
+ "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==",
"license": "MIT",
"dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/camel-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/camelcase": {
- "version": "6.3.0",
- "license": "MIT",
+ "cosmiconfig": "^8.1.3",
+ "deepmerge": "^4.3.1",
+ "svgo": "^3.0.2"
+ },
"engines": {
- "node": ">=10"
+ "node": ">=14"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "@svgr/core": "*"
}
},
- "node_modules/caniuse-api": {
- "version": "3.0.0",
+ "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001718",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
}
- ],
- "license": "CC-BY-4.0"
- },
- "node_modules/capital-case": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
}
},
- "node_modules/capital-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/ccount": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
- "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
- "license": "MIT",
+ "node_modules/@svgr/plugin-svgo/node_modules/css-select": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/chalk": {
- "version": "4.1.2",
+ "node_modules/@svgr/plugin-svgo/node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
- "node_modules/change-case": {
- "version": "4.1.2",
+ "node_modules/@svgr/plugin-svgo/node_modules/csso": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
+ "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
"license": "MIT",
"dependencies": {
- "camel-case": "^4.1.2",
- "capital-case": "^1.0.4",
- "constant-case": "^3.0.4",
- "dot-case": "^3.0.4",
- "header-case": "^2.0.4",
- "no-case": "^3.0.4",
- "param-case": "^3.0.4",
- "pascal-case": "^3.1.2",
- "path-case": "^3.0.4",
- "sentence-case": "^3.0.4",
- "snake-case": "^3.0.4",
- "tslib": "^2.0.3"
+ "css-tree": "~2.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
}
},
- "node_modules/change-case-all": {
- "version": "1.0.14",
+ "node_modules/@svgr/plugin-svgo/node_modules/csso/node_modules/css-tree": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
+ "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
"license": "MIT",
"dependencies": {
- "change-case": "^4.1.2",
- "is-lower-case": "^2.0.2",
- "is-upper-case": "^2.0.2",
- "lower-case": "^2.0.2",
- "lower-case-first": "^2.0.2",
- "sponge-case": "^1.0.1",
- "swap-case": "^2.0.2",
- "title-case": "^3.0.3",
- "upper-case": "^2.0.2",
- "upper-case-first": "^2.0.2"
+ "mdn-data": "2.0.28",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
}
},
- "node_modules/change-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/@svgr/plugin-svgo/node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.28",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
+ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
+ "license": "CC0-1.0"
},
- "node_modules/character-entities": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
- "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/chardet": {
- "version": "0.7.0",
- "license": "MIT"
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "license": "MIT",
+ "node_modules/@svgr/plugin-svgo/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 4"
},
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/chownr": {
- "version": "1.1.4",
- "license": "ISC"
+ "node_modules/@svgr/plugin-svgo/node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
},
- "node_modules/chrome-trace-event": {
- "version": "1.0.3",
- "license": "MIT",
+ "node_modules/@svgr/plugin-svgo/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=6.0"
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/ci-info": {
- "version": "2.0.0",
- "license": "MIT"
+ "node_modules/@svgr/plugin-svgo/node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "license": "CC0-1.0"
},
- "node_modules/cli-boxes": {
- "version": "2.2.1",
+ "node_modules/@svgr/plugin-svgo/node_modules/svgo": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
+ "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
"license": "MIT",
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^5.1.0",
+ "css-tree": "^2.3.1",
+ "css-what": "^6.1.0",
+ "csso": "^5.0.5",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=14.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/svgo"
}
},
- "node_modules/cli-cursor": {
- "version": "3.1.0",
+ "node_modules/@svgr/webpack": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz",
+ "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==",
"license": "MIT",
"dependencies": {
- "restore-cursor": "^3.1.0"
+ "@babel/core": "^7.21.3",
+ "@babel/plugin-transform-react-constant-elements": "^7.21.3",
+ "@babel/preset-env": "^7.20.2",
+ "@babel/preset-react": "^7.18.6",
+ "@babel/preset-typescript": "^7.21.0",
+ "@svgr/core": "8.1.0",
+ "@svgr/plugin-jsx": "8.1.0",
+ "@svgr/plugin-svgo": "8.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
}
},
- "node_modules/cli-width": {
- "version": "3.0.0",
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
"license": "ISC",
"engines": {
- "node": ">= 10"
+ "node": ">=10.13.0"
}
},
- "node_modules/clipboardy": {
- "version": "4.0.0",
+ "node_modules/@types/body-parser": {
+ "version": "1.19.6",
"license": "MIT",
"dependencies": {
- "execa": "^8.0.1",
- "is-wsl": "^3.1.0",
- "is64bit": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/connect": "*",
+ "@types/node": "*"
}
},
- "node_modules/clipboardy/node_modules/cross-spawn": {
- "version": "7.0.6",
+ "node_modules/@types/bonjour": {
+ "version": "3.5.13",
"license": "MIT",
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
+ "@types/node": "*"
}
},
- "node_modules/clipboardy/node_modules/execa": {
- "version": "8.0.1",
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
"license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^8.0.1",
- "human-signals": "^5.0.0",
- "is-stream": "^3.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^5.1.0",
- "onetime": "^6.0.0",
- "signal-exit": "^4.1.0",
- "strip-final-newline": "^3.0.0"
- },
- "engines": {
- "node": ">=16.17"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "@types/node": "*"
}
},
- "node_modules/clipboardy/node_modules/get-stream": {
- "version": "8.0.1",
+ "node_modules/@types/connect-history-api-fallback": {
+ "version": "1.5.4",
"license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/eslint": {
+ "version": "7.29.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "license": "MIT",
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
}
},
- "node_modules/clipboardy/node_modules/human-signals": {
- "version": "5.0.0",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=16.17.0"
+ "node_modules/@types/estree": {
+ "version": "1.0.7",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree-jsx": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*"
}
},
- "node_modules/clipboardy/node_modules/is-stream": {
- "version": "3.0.0",
+ "node_modules/@types/express": {
+ "version": "4.17.23",
"license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
}
},
- "node_modules/clipboardy/node_modules/is-wsl": {
- "version": "3.1.0",
+ "node_modules/@types/express-serve-static-core": {
+ "version": "5.0.6",
"license": "MIT",
"dependencies": {
- "is-inside-container": "^1.0.0"
- },
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
}
},
- "node_modules/clipboardy/node_modules/mimic-fn": {
- "version": "4.0.0",
+ "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
+ "version": "4.19.6",
"license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
}
},
- "node_modules/clipboardy/node_modules/npm-run-path": {
- "version": "5.3.0",
+ "node_modules/@types/gtag.js": {
+ "version": "0.0.12",
+ "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz",
+ "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
"license": "MIT",
"dependencies": {
- "path-key": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/unist": "*"
}
},
- "node_modules/clipboardy/node_modules/npm-run-path/node_modules/path-key": {
- "version": "4.0.0",
+ "node_modules/@types/history": {
+ "version": "4.7.11",
+ "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz",
+ "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/html-minifier-terser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
+ "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/http-cache-semantics": {
+ "version": "4.0.4",
+ "license": "MIT"
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.5",
+ "license": "MIT"
+ },
+ "node_modules/@types/http-proxy": {
+ "version": "1.17.16",
"license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "@types/node": "*"
}
},
- "node_modules/clipboardy/node_modules/onetime": {
- "version": "6.0.0",
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "license": "MIT"
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
"license": "MIT",
"dependencies": {
- "mimic-fn": "^4.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/istanbul-lib-coverage": "*"
}
},
- "node_modules/clipboardy/node_modules/path-key": {
- "version": "3.1.1",
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"license": "MIT",
- "engines": {
- "node": ">=8"
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
}
},
- "node_modules/clipboardy/node_modules/shebang-command": {
- "version": "2.0.0",
+ "node_modules/@types/json-schema": {
+ "version": "7.0.11",
+ "license": "MIT"
+ },
+ "node_modules/@types/mdast": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
"license": "MIT",
"dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
+ "@types/unist": "*"
}
},
- "node_modules/clipboardy/node_modules/shebang-regex": {
- "version": "3.0.0",
+ "node_modules/@types/mdx": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
+ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "license": "MIT"
+ },
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "18.0.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/node-forge": {
+ "version": "1.3.11",
"license": "MIT",
- "engines": {
- "node": ">=8"
+ "dependencies": {
+ "@types/node": "*"
}
},
- "node_modules/clipboardy/node_modules/signal-exit": {
- "version": "4.1.0",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node_modules/@types/prismjs": {
+ "version": "1.26.5",
+ "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz",
+ "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.15",
+ "license": "MIT"
+ },
+ "node_modules/@types/qs": {
+ "version": "6.14.0",
+ "license": "MIT"
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "17.0.87",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "^0.16",
+ "csstype": "^3.0.2"
}
},
- "node_modules/clipboardy/node_modules/strip-final-newline": {
- "version": "3.0.0",
+ "node_modules/@types/react-router": {
+ "version": "5.1.20",
+ "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz",
+ "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==",
"license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "@types/history": "^4.7.11",
+ "@types/react": "*"
}
},
- "node_modules/clipboardy/node_modules/which": {
- "version": "2.0.2",
- "license": "ISC",
+ "node_modules/@types/react-router-config": {
+ "version": "5.0.11",
+ "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz",
+ "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==",
+ "license": "MIT",
"dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
+ "@types/history": "^4.7.11",
+ "@types/react": "*",
+ "@types/react-router": "^5.1.0"
}
},
- "node_modules/cliui": {
- "version": "6.0.0",
- "license": "ISC",
+ "node_modules/@types/react-router-dom": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz",
+ "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==",
+ "license": "MIT",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
+ "@types/history": "^4.7.11",
+ "@types/react": "*",
+ "@types/react-router": "*"
}
},
- "node_modules/cliui/node_modules/wrap-ansi": {
- "version": "6.2.0",
+ "node_modules/@types/retry": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
+ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
+ "license": "MIT"
+ },
+ "node_modules/@types/sax": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz",
+ "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
+ "@types/node": "*"
}
},
- "node_modules/clone": {
- "version": "2.1.2",
+ "node_modules/@types/scheduler": {
+ "version": "0.16.8",
+ "license": "MIT"
+ },
+ "node_modules/@types/send": {
+ "version": "0.17.5",
"license": "MIT",
- "engines": {
- "node": ">=0.8"
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
}
},
- "node_modules/clone-deep": {
- "version": "4.0.1",
+ "node_modules/@types/serve-index": {
+ "version": "1.9.4",
"license": "MIT",
"dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
+ "@types/express": "*"
}
},
- "node_modules/clone-response": {
- "version": "1.0.3",
+ "node_modules/@types/serve-static": {
+ "version": "1.15.8",
"license": "MIT",
"dependencies": {
- "mimic-response": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
}
},
- "node_modules/color": {
- "version": "4.2.3",
+ "node_modules/@types/sockjs": {
+ "version": "0.3.36",
"license": "MIT",
"dependencies": {
- "color-convert": "^2.0.1",
- "color-string": "^1.9.0"
- },
- "engines": {
- "node": ">=12.5.0"
+ "@types/node": "*"
}
},
- "node_modules/color-convert": {
- "version": "2.0.1",
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "license": "MIT"
+ },
+ "node_modules/@types/ws": {
+ "version": "8.18.1",
"license": "MIT",
"dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
+ "@types/node": "*"
}
},
- "node_modules/color-name": {
- "version": "1.1.4",
- "license": "MIT"
- },
- "node_modules/color-string": {
- "version": "1.9.1",
+ "node_modules/@types/yargs": {
+ "version": "17.0.35",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz",
+ "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==",
"license": "MIT",
"dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
+ "@types/yargs-parser": "*"
}
},
- "node_modules/colord": {
- "version": "2.9.3",
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
"license": "MIT"
},
- "node_modules/colorette": {
- "version": "2.0.20",
- "license": "MIT"
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
+ "license": "ISC"
},
- "node_modules/combined-stream": {
- "version": "1.0.8",
+ "node_modules/@vercel/oidc": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.5.tgz",
+ "integrity": "sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.14.1",
"license": "MIT",
"dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
+ "@webassemblyjs/helper-numbers": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
}
},
- "node_modules/command-exists": {
- "version": "1.2.9",
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.13.2",
"license": "MIT"
},
- "node_modules/commander": {
- "version": "7.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.13.2",
+ "license": "MIT"
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.14.1",
+ "license": "MIT"
},
- "node_modules/common-tags": {
- "version": "1.8.2",
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.13.2",
"license": "MIT",
- "engines": {
- "node": ">=4.0.0"
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@xtuc/long": "4.2.2"
}
},
- "node_modules/commondir": {
- "version": "1.0.1",
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.13.2",
"license": "MIT"
},
- "node_modules/compressible": {
- "version": "2.0.18",
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.14.1",
"license": "MIT",
"dependencies": {
- "mime-db": ">= 1.43.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/wasm-gen": "1.14.1"
}
},
- "node_modules/compression": {
- "version": "1.8.0",
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.13.2",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
- "compressible": "~2.0.18",
- "debug": "2.6.9",
- "negotiator": "~0.6.4",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.2.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
+ "@xtuc/ieee754": "^1.2.0"
}
},
- "node_modules/compression/node_modules/debug": {
- "version": "2.6.9",
- "license": "MIT",
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.13.2",
+ "license": "Apache-2.0",
"dependencies": {
- "ms": "2.0.0"
+ "@xtuc/long": "4.2.2"
}
},
- "node_modules/compression/node_modules/ms": {
- "version": "2.0.0",
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.13.2",
"license": "MIT"
},
- "node_modules/compute-gcd": {
- "version": "1.2.1",
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.14.1",
+ "license": "MIT",
"dependencies": {
- "validate.io-array": "^1.0.3",
- "validate.io-function": "^1.0.2",
- "validate.io-integer-array": "^1.0.0"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/helper-wasm-section": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-opt": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1",
+ "@webassemblyjs/wast-printer": "1.14.1"
}
},
- "node_modules/compute-lcm": {
- "version": "1.1.2",
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.14.1",
+ "license": "MIT",
"dependencies": {
- "compute-gcd": "^1.2.1",
- "validate.io-array": "^1.0.3",
- "validate.io-function": "^1.0.2",
- "validate.io-integer-array": "^1.0.0"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
- "node_modules/concat-map": {
- "version": "0.0.1",
- "license": "MIT"
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.14.1",
+ "license": "MIT",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1"
+ }
},
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "engines": [
- "node >= 0.8"
- ],
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.14.1",
"license": "MIT",
"dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
- "node_modules/config-chain": {
- "version": "1.1.13",
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.14.1",
"license": "MIT",
"dependencies": {
- "ini": "^1.3.4",
- "proto-list": "~1.2.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@xtuc/long": "4.2.2"
}
},
- "node_modules/configstore": {
- "version": "5.0.1",
- "license": "BSD-2-Clause",
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "license": "Apache-2.0"
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "license": "MIT",
"dependencies": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.6"
}
},
- "node_modules/confusing-browser-globals": {
- "version": "1.0.11",
- "license": "MIT"
+ "node_modules/accepts/node_modules/negotiator": {
+ "version": "0.6.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "node_modules/connect-history-api-fallback": {
- "version": "2.0.0",
+ "node_modules/acorn": {
+ "version": "7.4.1",
"license": "MIT",
- "optional": true,
"peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
"engines": {
- "node": ">=0.8"
+ "node": ">=0.4.0"
}
},
- "node_modules/constant-case": {
- "version": "3.0.4",
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
"license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case": "^2.0.2"
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/constant-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
"license": "MIT",
"dependencies": {
- "safe-buffer": "5.2.1"
+ "acorn": "^8.11.0"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.4.0"
}
},
- "node_modules/content-type": {
- "version": "1.0.5",
+ "node_modules/acorn-walk/node_modules/acorn": {
+ "version": "8.14.1",
"license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.4.0"
}
},
- "node_modules/convert-hrtime": {
- "version": "3.0.0",
+ "node_modules/address": {
+ "version": "1.2.2",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">= 10.0.0"
}
},
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.5.0",
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
"license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=8"
}
},
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "license": "MIT"
+ "node_modules/ai": {
+ "version": "5.0.106",
+ "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.106.tgz",
+ "integrity": "sha512-M5obwavxSJJ3tGlAFqI6eltYNJB0D20X6gIBCFx/KVorb/X1fxVVfiZZpZb+Gslu4340droSOjT0aKQFCarNVg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/gateway": "2.0.18",
+ "@ai-sdk/provider": "2.0.0",
+ "@ai-sdk/provider-utils": "3.0.18",
+ "@opentelemetry/api": "1.9.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
},
- "node_modules/core-js": {
- "version": "3.42.0",
- "hasInstallScript": true,
+ "node_modules/ajv": {
+ "version": "6.12.6",
"license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/core-js-compat": {
- "version": "3.42.0",
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.24.4"
+ "ajv": "^8.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
}
},
- "node_modules/core-js-pure": {
- "version": "3.42.0",
- "hasInstallScript": true,
+ "node_modules/ajv-formats/node_modules/ajv": {
+ "version": "8.17.1",
"license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/core-util-is": {
- "version": "1.0.3",
+ "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
"license": "MIT"
},
- "node_modules/cors": {
- "version": "2.8.5",
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
"license": "MIT",
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
+ "peerDependencies": {
+ "ajv": "^6.9.1"
}
},
- "node_modules/cosmiconfig": {
- "version": "7.0.1",
+ "node_modules/algoliasearch": {
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.0.tgz",
+ "integrity": "sha512-7ML6fa2K93FIfifG3GMWhDEwT5qQzPTmoHKCTvhzGEwdbQ4n0yYUWZlLYT75WllTGJCJtNUI0C1ybN4BCegqvg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
+ "@algolia/abtesting": "1.12.0",
+ "@algolia/client-abtesting": "5.46.0",
+ "@algolia/client-analytics": "5.46.0",
+ "@algolia/client-common": "5.46.0",
+ "@algolia/client-insights": "5.46.0",
+ "@algolia/client-personalization": "5.46.0",
+ "@algolia/client-query-suggestions": "5.46.0",
+ "@algolia/client-search": "5.46.0",
+ "@algolia/ingestion": "1.46.0",
+ "@algolia/monitoring": "1.46.0",
+ "@algolia/recommend": "5.46.0",
+ "@algolia/requester-browser-xhr": "5.46.0",
+ "@algolia/requester-fetch": "5.46.0",
+ "@algolia/requester-node-http": "5.46.0"
},
"engines": {
- "node": ">=10"
+ "node": ">= 14.0.0"
}
},
- "node_modules/create-gatsby": {
- "version": "3.14.0",
+ "node_modules/algoliasearch-helper": {
+ "version": "3.26.1",
+ "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.26.1.tgz",
+ "integrity": "sha512-CAlCxm4fYBXtvc5MamDzP6Svu8rW4z9me4DCBY1rQ2UDJ0u0flWmusQ8M3nOExZsLLRcUwUPoRAPMrhzOG3erw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13"
+ "@algolia/events": "^4.0.1"
},
- "bin": {
- "create-gatsby": "cli.js"
+ "peerDependencies": {
+ "algoliasearch": ">= 3.1 < 6"
}
},
- "node_modules/cross-fetch": {
- "version": "3.1.5",
- "license": "MIT",
+ "node_modules/ansi-align": {
+ "version": "3.0.1",
+ "license": "ISC",
"dependencies": {
- "node-fetch": "2.6.7"
+ "string-width": "^4.1.0"
}
},
- "node_modules/cross-spawn": {
- "version": "6.0.5",
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
"license": "MIT",
"dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "type-fest": "^0.21.3"
},
"engines": {
- "node": ">=4.8"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/cross-spawn/node_modules/semver": {
- "version": "5.7.1",
- "license": "ISC",
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "0.21.3",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-html-community": {
+ "version": "0.0.8",
+ "engines": [
+ "node >= 0.8.0"
+ ],
+ "license": "Apache-2.0",
"bin": {
- "semver": "bin/semver"
+ "ansi-html": "bin/ansi-html"
}
},
- "node_modules/crypto-random-string": {
- "version": "2.0.0",
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
"license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/css-declaration-sorter": {
- "version": "6.3.0",
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.0.9"
- }
- },
- "node_modules/css-loader": {
- "version": "5.2.7",
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
"license": "MIT",
"dependencies": {
- "icss-utils": "^5.1.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.15",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^3.0.0",
- "semver": "^7.3.5"
+ "color-convert": "^2.0.1"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=8"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.27.0 || ^5.0.0"
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/css-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "license": "MIT",
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "license": "ISC",
"dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">= 8"
}
},
- "node_modules/css-minimizer-webpack-plugin": {
- "version": "2.0.0",
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "license": "MIT"
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "license": "Python-2.0"
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
"license": "MIT",
- "dependencies": {
- "cssnano": "^5.0.0",
- "jest-worker": "^26.3.0",
- "p-limit": "^3.0.2",
- "postcss": "^8.2.9",
- "schema-utils": "^3.0.0",
- "serialize-javascript": "^5.0.1",
- "source-map": "^0.6.1"
- },
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "clean-css": {
- "optional": true
- },
- "csso": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
+ "node_modules/astring": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz",
+ "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==",
+ "license": "MIT",
+ "bin": {
+ "astring": "bin/astring"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "license": "MIT"
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.22",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz",
+ "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "browserslist": "^4.27.0",
+ "caniuse-lite": "^1.0.30001754",
+ "fraction.js": "^5.3.4",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.1.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": "^10 || ^12 || >=14"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
- "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": {
- "version": "0.6.1",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
+ "node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "license": "MIT",
+ "dependencies": {
+ "object.assign": "^4.1.0"
}
},
- "node_modules/css-select": {
- "version": "4.3.0",
- "license": "BSD-2-Clause",
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.4.13",
+ "license": "MIT",
"dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.4",
+ "semver": "^6.3.1"
},
- "funding": {
- "url": "https://github.com/sponsors/fb55"
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/css-tree": {
- "version": "1.1.3",
+ "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+ "version": "6.3.1",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.11.1",
"license": "MIT",
"dependencies": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
+ "core-js-compat": "^3.40.0"
},
- "engines": {
- "node": ">=8.0.0"
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/css-tree/node_modules/source-map": {
- "version": "0.6.1",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.6.4",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/css-what": {
- "version": "6.1.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">= 6"
- },
+ "node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "license": "MIT",
"funding": {
- "url": "https://github.com/sponsors/fb55"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/css.escape": {
- "version": "1.5.1",
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
"license": "MIT"
},
- "node_modules/cssesc": {
- "version": "3.0.0",
- "license": "MIT",
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz",
+ "integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==",
+ "license": "Apache-2.0",
"bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
+ "baseline-browser-mapping": "dist/cli.js"
}
},
- "node_modules/cssnano": {
- "version": "5.1.12",
+ "node_modules/batch": {
+ "version": "0.6.1",
+ "license": "MIT"
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
"license": "MIT",
- "dependencies": {
- "cssnano-preset-default": "^5.2.12",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- },
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/cssnano"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": "*"
}
},
- "node_modules/cssnano-preset-default": {
- "version": "5.2.12",
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
"license": "MIT",
- "dependencies": {
- "css-declaration-sorter": "^6.3.0",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.0",
- "postcss-convert-values": "^5.1.2",
- "postcss-discard-comments": "^5.1.2",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.1",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.6",
- "postcss-merge-rules": "^5.1.2",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.1",
- "postcss-minify-params": "^5.1.3",
- "postcss-minify-selectors": "^5.2.1",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.1",
- "postcss-normalize-repeat-style": "^5.1.1",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.0",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.1",
- "postcss-ordered-values": "^5.1.3",
- "postcss-reduce-initial": "^5.1.0",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.1"
- },
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": ">=8"
}
},
- "node_modules/cssnano-utils": {
- "version": "3.1.0",
+ "node_modules/body-parser": {
+ "version": "1.20.3",
"license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.13.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
},
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
}
},
- "node_modules/csso": {
- "version": "4.2.0",
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
"license": "MIT",
"dependencies": {
- "css-tree": "^1.1.2"
- },
- "engines": {
- "node": ">=8.0.0"
+ "ms": "2.0.0"
}
},
- "node_modules/csstype": {
- "version": "3.1.3",
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
"license": "MIT"
},
- "node_modules/d": {
- "version": "1.0.1",
- "license": "ISC",
+ "node_modules/bonjour-service": {
+ "version": "1.3.0",
+ "license": "MIT",
"dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
}
},
- "node_modules/damerau-levenshtein": {
- "version": "1.0.8",
- "license": "BSD-2-Clause"
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "license": "ISC"
},
- "node_modules/data-view-buffer": {
- "version": "1.0.2",
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/data-view-byte-length": {
- "version": "1.0.2",
+ "node_modules/braces": {
+ "version": "3.0.3",
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.2"
+ "fill-range": "^7.1.1"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/inspect-js"
+ "node": ">=8"
}
},
- "node_modules/data-view-byte-offset": {
- "version": "1.0.1",
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"license": "MIT",
+ "peer": true,
"dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
},
- "engines": {
- "node": ">= 0.4"
+ "bin": {
+ "browserslist": "cli.js"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/date-fns": {
- "version": "2.30.0",
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "license": "MIT"
+ },
+ "node_modules/bundle-name": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
+ "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.21.0"
+ "run-applescript": "^7.0.0"
},
"engines": {
- "node": ">=0.11"
+ "node": ">=18"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
- }
- },
- "node_modules/debug": {
- "version": "3.2.7",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/decamelize": {
- "version": "1.2.0",
+ "node_modules/bytes": {
+ "version": "3.1.2",
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.8"
}
},
- "node_modules/decode-named-character-reference": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
- "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
+ "node_modules/call-bind": {
+ "version": "1.0.8",
"license": "MIT",
"dependencies": {
- "character-entities": "^2.0.0"
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/decode-uri-component": {
- "version": "0.2.2",
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
"license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
"engines": {
- "node": ">=0.10"
+ "node": ">= 0.4"
}
},
- "node_modules/decompress-response": {
- "version": "6.0.0",
+ "node_modules/call-bound": {
+ "version": "1.0.4",
"license": "MIT",
"dependencies": {
- "mimic-response": "^3.1.0"
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
},
"engines": {
- "node": ">=10"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/decompress-response/node_modules/mimic-response": {
+ "node_modules/callsites": {
"version": "3.1.0",
"license": "MIT",
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=6"
}
},
- "node_modules/deep-extend": {
- "version": "0.6.0",
+ "node_modules/camel-case": {
+ "version": "4.1.2",
"license": "MIT",
- "engines": {
- "node": ">=4.0.0"
+ "dependencies": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
}
},
- "node_modules/deep-is": {
- "version": "0.1.4",
- "license": "MIT"
+ "node_modules/camel-case/node_modules/tslib": {
+ "version": "2.8.1",
+ "license": "0BSD"
},
- "node_modules/deepmerge": {
- "version": "4.3.1",
+ "node_modules/camelcase": {
+ "version": "6.3.0",
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/default-gateway": {
- "version": "6.0.3",
- "license": "BSD-2-Clause",
- "optional": true,
- "peer": true,
+ "node_modules/caniuse-api": {
+ "version": "3.0.0",
+ "license": "MIT",
"dependencies": {
- "execa": "^5.0.0"
- },
- "engines": {
- "node": ">= 10"
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
}
},
- "node_modules/defer-to-connect": {
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001759",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz",
+ "integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/ccount": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
"license": "MIT",
- "engines": {
- "node": ">=10"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/define-data-property": {
- "version": "1.1.4",
+ "node_modules/chalk": {
+ "version": "4.1.2",
"license": "MIT",
"dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
- "node_modules/define-properties": {
- "version": "1.2.1",
+ "node_modules/character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
"license": "MIT",
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/delayed-stream": {
- "version": "1.0.0",
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
"license": "MIT",
- "engines": {
- "node": ">=0.4.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/depd": {
- "version": "2.0.0",
+ "node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
"license": "MIT",
- "engines": {
- "node": ">= 0.8"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/dependency-graph": {
- "version": "0.11.0",
+ "node_modules/character-reference-invalid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
"license": "MIT",
- "engines": {
- "node": ">= 0.6.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "license": "MIT"
},
- "node_modules/destroy": {
- "version": "1.2.0",
+ "node_modules/cheerio": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
+ "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
"license": "MIT",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-libc": {
- "version": "1.0.3",
- "license": "Apache-2.0",
- "bin": {
- "detect-libc": "bin/detect-libc.js"
+ "dependencies": {
+ "cheerio-select": "^2.1.0",
+ "dom-serializer": "^2.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "htmlparser2": "^8.0.1",
+ "parse5": "^7.0.0",
+ "parse5-htmlparser2-tree-adapter": "^7.0.0"
},
"engines": {
- "node": ">=0.10"
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
}
},
- "node_modules/detect-node": {
+ "node_modules/cheerio-select": {
"version": "2.1.0",
- "license": "MIT"
- },
- "node_modules/detect-port": {
- "version": "1.6.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "address": "^1.0.1",
- "debug": "4"
- },
- "bin": {
- "detect": "bin/detect-port.js",
- "detect-port": "bin/detect-port.js"
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
},
- "engines": {
- "node": ">= 4.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/detect-port-alt": {
- "version": "1.1.6",
- "license": "MIT",
+ "node_modules/cheerio-select/node_modules/css-select": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "bin": {
- "detect": "bin/detect-port",
- "detect-port": "bin/detect-port"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
},
- "engines": {
- "node": ">= 4.2.1"
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/detect-port-alt/node_modules/debug": {
- "version": "2.6.9",
+ "node_modules/cheerio-select/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/detect-port-alt/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/detect-port/node_modules/debug": {
- "version": "4.4.1",
- "license": "MIT",
+ "node_modules/cheerio-select/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "ms": "^2.1.3"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">=6.0"
+ "node": ">= 4"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/devcert": {
- "version": "1.2.2",
- "license": "MIT",
- "dependencies": {
- "@types/configstore": "^2.1.1",
- "@types/debug": "^0.0.30",
- "@types/get-port": "^3.2.0",
- "@types/glob": "^5.0.34",
- "@types/lodash": "^4.14.92",
- "@types/mkdirp": "^0.5.2",
- "@types/node": "^8.5.7",
- "@types/rimraf": "^2.0.2",
- "@types/tmp": "^0.0.33",
- "application-config-path": "^0.1.0",
- "command-exists": "^1.2.4",
- "debug": "^3.1.0",
- "eol": "^0.9.1",
- "get-port": "^3.2.0",
- "glob": "^7.1.2",
- "is-valid-domain": "^0.1.6",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "password-prompt": "^1.0.4",
- "rimraf": "^2.6.2",
- "sudo-prompt": "^8.2.0",
- "tmp": "^0.0.33",
- "tslib": "^1.10.0"
- }
- },
- "node_modules/devcert/node_modules/@types/node": {
- "version": "8.10.66",
- "license": "MIT"
- },
- "node_modules/devcert/node_modules/rimraf": {
- "version": "2.7.1",
- "license": "ISC",
+ "node_modules/cheerio-select/node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "glob": "^7.1.3"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
},
- "bin": {
- "rimraf": "bin.js"
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
}
},
- "node_modules/devcert/node_modules/tmp": {
- "version": "0.0.33",
- "license": "MIT",
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
+ "node_modules/cheerio-select/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=0.6.0"
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/devlop": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
- "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "node_modules/cheerio/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
"dependencies": {
- "dequal": "^2.0.0"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "license": "MIT",
+ "node_modules/cheerio/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "path-type": "^4.0.0"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">=8"
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/dns-packet": {
- "version": "5.6.1",
- "license": "MIT",
- "optional": true,
- "peer": true,
+ "node_modules/cheerio/node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "@leichtgewicht/ip-codec": "^2.0.1"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
},
- "engines": {
- "node": ">=6"
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
}
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
+ "node_modules/cheerio/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/dom-converter": {
- "version": "0.2.0",
+ "node_modules/cheerio/node_modules/htmlparser2": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
+ "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "utila": "~0.4"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "entities": "^4.4.0"
}
},
- "node_modules/dom-serializer": {
- "version": "1.4.1",
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"license": "MIT",
"dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
},
"funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
}
},
- "node_modules/domelementtype": {
- "version": "2.3.0",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "BSD-2-Clause"
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
+ }
},
- "node_modules/domhandler": {
- "version": "4.3.1",
- "license": "BSD-2-Clause",
+ "node_modules/clean-css": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
+ "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
+ "license": "MIT",
"dependencies": {
- "domelementtype": "^2.2.0"
+ "source-map": "~0.6.0"
},
"engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
+ "node": ">= 10.0"
}
},
- "node_modules/domutils": {
- "version": "2.8.0",
- "license": "BSD-2-Clause",
- "dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
+ "node_modules/clean-css/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/dot-case": {
- "version": "3.0.4",
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/dot-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/cli-table3": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
+ "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": "10.* || >= 12.*"
+ },
+ "optionalDependencies": {
+ "@colors/colors": "1.5.0"
+ }
},
- "node_modules/dot-prop": {
- "version": "5.3.0",
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
"license": "MIT",
"dependencies": {
- "is-obj": "^2.0.0"
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=6"
}
},
- "node_modules/dotenv": {
- "version": "8.6.0",
- "license": "BSD-2-Clause",
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=6"
}
},
- "node_modules/dotenv-expand": {
- "version": "5.1.0",
- "license": "BSD-2-Clause"
+ "node_modules/collapse-white-space": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
+ "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
- "node_modules/dunder-proto": {
- "version": "1.0.1",
+ "node_modules/color-convert": {
+ "version": "2.0.1",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=7.0.0"
}
},
- "node_modules/duplexer": {
- "version": "0.1.2",
+ "node_modules/color-name": {
+ "version": "1.1.4",
"license": "MIT"
},
- "node_modules/ee-first": {
- "version": "1.1.1",
+ "node_modules/colord": {
+ "version": "2.9.3",
"license": "MIT"
},
- "node_modules/electron-to-chromium": {
- "version": "1.5.166",
- "license": "ISC"
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
+ "node_modules/colorette": {
+ "version": "2.0.20",
"license": "MIT"
},
- "node_modules/emojis-list": {
- "version": "3.0.0",
+ "node_modules/combine-promises": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz",
+ "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==",
"license": "MIT",
"engines": {
- "node": ">= 4"
+ "node": ">=10"
}
},
- "node_modules/encodeurl": {
- "version": "2.0.0",
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
"license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/end-of-stream": {
- "version": "1.4.4",
+ "node_modules/comma-separated-tokens": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/commander": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
+ "license": "ISC"
+ },
+ "node_modules/compressible": {
+ "version": "2.0.18",
"license": "MIT",
"dependencies": {
- "once": "^1.4.0"
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "node_modules/engine.io": {
- "version": "6.5.5",
+ "node_modules/compression": {
+ "version": "1.8.0",
"license": "MIT",
"dependencies": {
- "@types/cookie": "^0.4.1",
- "@types/cors": "^2.8.12",
- "@types/node": ">=10.0.0",
- "accepts": "~1.3.4",
- "base64id": "2.0.0",
- "cookie": "~0.4.1",
- "cors": "~2.8.5",
- "debug": "~4.3.1",
- "engine.io-parser": "~5.2.1",
- "ws": "~8.17.1"
+ "bytes": "3.1.2",
+ "compressible": "~2.0.18",
+ "debug": "2.6.9",
+ "negotiator": "~0.6.4",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.2.1",
+ "vary": "~1.1.2"
},
"engines": {
- "node": ">=10.2.0"
+ "node": ">= 0.8.0"
}
},
- "node_modules/engine.io-client": {
- "version": "6.5.4",
+ "node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
"license": "MIT",
"dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.1",
- "engine.io-parser": "~5.2.1",
- "ws": "~8.17.1",
- "xmlhttprequest-ssl": "~2.0.0"
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/compute-gcd": {
+ "version": "1.2.1",
+ "dependencies": {
+ "validate.io-array": "^1.0.3",
+ "validate.io-function": "^1.0.2",
+ "validate.io-integer-array": "^1.0.0"
+ }
+ },
+ "node_modules/compute-lcm": {
+ "version": "1.1.2",
+ "dependencies": {
+ "compute-gcd": "^1.2.1",
+ "validate.io-array": "^1.0.3",
+ "validate.io-function": "^1.0.2",
+ "validate.io-integer-array": "^1.0.0"
}
},
- "node_modules/engine.io-client/node_modules/debug": {
- "version": "4.3.7",
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "license": "MIT"
+ },
+ "node_modules/config-chain": {
+ "version": "1.1.13",
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
}
},
- "node_modules/engine.io-parser": {
- "version": "5.2.3",
+ "node_modules/connect-history-api-fallback": {
+ "version": "2.0.0",
"license": "MIT",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=0.8"
}
},
- "node_modules/engine.io/node_modules/cookie": {
- "version": "0.4.2",
+ "node_modules/consola": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
+ "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
"license": "MIT",
"engines": {
- "node": ">= 0.6"
+ "node": "^14.18.0 || >=16.10.0"
}
},
- "node_modules/engine.io/node_modules/debug": {
- "version": "4.3.7",
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "safe-buffer": "5.2.1"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 0.6"
}
},
- "node_modules/enhanced-resolve": {
- "version": "5.18.1",
+ "node_modules/content-type": {
+ "version": "1.0.5",
"license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
"engines": {
- "node": ">=10.13.0"
+ "node": ">= 0.6"
}
},
- "node_modules/enquirer": {
- "version": "2.3.6",
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "license": "MIT"
+ },
+ "node_modules/copy-webpack-plugin": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
+ "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
"license": "MIT",
"dependencies": {
- "ansi-colors": "^4.1.1"
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.1",
+ "globby": "^13.1.1",
+ "normalize-path": "^3.0.0",
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0"
},
"engines": {
- "node": ">=8.6"
+ "node": ">= 14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
}
},
- "node_modules/enquirer/node_modules/ansi-colors": {
- "version": "4.1.3",
- "license": "MIT",
+ "node_modules/copy-webpack-plugin/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/entities": {
- "version": "2.2.0",
- "license": "BSD-2-Clause",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
+ "node": ">=10.13.0"
}
},
- "node_modules/envinfo": {
- "version": "7.14.0",
+ "node_modules/copy-webpack-plugin/node_modules/globby": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+ "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"license": "MIT",
- "bin": {
- "envinfo": "dist/cli.js"
+ "dependencies": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.3.0",
+ "ignore": "^5.2.4",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eol": {
- "version": "0.9.1",
- "license": "MIT"
+ "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
},
- "node_modules/error-ex": {
- "version": "1.3.2",
+ "node_modules/copy-webpack-plugin/node_modules/slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.2.1"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/error-stack-parser": {
- "version": "2.1.4",
+ "node_modules/core-js": {
+ "version": "3.42.0",
+ "hasInstallScript": true,
"license": "MIT",
- "dependencies": {
- "stackframe": "^1.3.4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
}
},
- "node_modules/es-abstract": {
- "version": "1.23.10",
+ "node_modules/core-js-compat": {
+ "version": "3.42.0",
"license": "MIT",
"dependencies": {
- "array-buffer-byte-length": "^1.0.2",
- "arraybuffer.prototype.slice": "^1.0.4",
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "data-view-buffer": "^1.0.2",
- "data-view-byte-length": "^1.0.2",
- "data-view-byte-offset": "^1.0.1",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "es-set-tostringtag": "^2.1.0",
- "es-to-primitive": "^1.3.0",
- "function.prototype.name": "^1.1.8",
- "get-intrinsic": "^1.3.0",
- "get-proto": "^1.0.1",
- "get-symbol-description": "^1.1.0",
- "globalthis": "^1.0.4",
- "gopd": "^1.2.0",
- "has-property-descriptors": "^1.0.2",
- "has-proto": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "internal-slot": "^1.1.0",
- "is-array-buffer": "^3.0.5",
- "is-callable": "^1.2.7",
- "is-data-view": "^1.0.2",
- "is-regex": "^1.2.1",
- "is-shared-array-buffer": "^1.0.4",
- "is-string": "^1.1.1",
- "is-typed-array": "^1.1.15",
- "is-weakref": "^1.1.1",
- "math-intrinsics": "^1.1.0",
- "object-inspect": "^1.13.4",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.7",
- "own-keys": "^1.0.1",
- "regexp.prototype.flags": "^1.5.4",
- "safe-array-concat": "^1.1.3",
- "safe-push-apply": "^1.0.0",
- "safe-regex-test": "^1.1.0",
- "set-proto": "^1.0.0",
- "string.prototype.trim": "^1.2.10",
- "string.prototype.trimend": "^1.0.9",
- "string.prototype.trimstart": "^1.0.8",
- "typed-array-buffer": "^1.0.3",
- "typed-array-byte-length": "^1.0.3",
- "typed-array-byte-offset": "^1.0.4",
- "typed-array-length": "^1.0.7",
- "unbox-primitive": "^1.1.0",
- "which-typed-array": "^1.1.19"
- },
- "engines": {
- "node": ">= 0.4"
+ "browserslist": "^4.24.4"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
}
},
- "node_modules/es-define-property": {
- "version": "1.0.1",
+ "node_modules/core-js-pure": {
+ "version": "3.47.0",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.47.0.tgz",
+ "integrity": "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==",
+ "hasInstallScript": true,
"license": "MIT",
- "engines": {
- "node": ">= 0.4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
}
},
- "node_modules/es-errors": {
- "version": "1.3.0",
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "license": "MIT"
+ },
+ "node_modules/cross-fetch": {
+ "version": "3.1.5",
"license": "MIT",
- "engines": {
- "node": ">= 0.4"
+ "dependencies": {
+ "node-fetch": "2.6.7"
}
},
- "node_modules/es-iterator-helpers": {
- "version": "1.2.1",
- "license": "MIT",
+ "node_modules/css-blank-pseudo": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz",
+ "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.6",
- "es-errors": "^1.3.0",
- "es-set-tostringtag": "^2.0.3",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.6",
- "globalthis": "^1.0.4",
- "gopd": "^1.2.0",
- "has-property-descriptors": "^1.0.2",
- "has-proto": "^1.2.0",
- "has-symbols": "^1.1.0",
- "internal-slot": "^1.1.0",
- "iterator.prototype": "^1.1.4",
- "safe-array-concat": "^1.1.3"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/es-module-lexer": {
- "version": "1.7.0",
- "license": "MIT"
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
+ "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "es-errors": "^1.3.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=4"
}
},
- "node_modules/es-set-tostringtag": {
- "version": "2.1.0",
- "license": "MIT",
+ "node_modules/css-has-pseudo": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz",
+ "integrity": "sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/es-shim-unscopables": {
- "version": "1.1.0",
+ "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "hasown": "^2.0.2"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=4"
}
},
- "node_modules/es-to-primitive": {
- "version": "1.3.0",
- "license": "MIT",
+ "node_modules/css-prefers-color-scheme": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz",
+ "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "4.3.0",
+ "license": "BSD-2-Clause",
"dependencies": {
- "is-callable": "^1.2.7",
- "is-date-object": "^1.0.5",
- "is-symbol": "^1.0.4"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
},
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">= 0.4"
+ "node": ">= 6"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/es5-ext": {
- "version": "0.10.61",
- "hasInstallScript": true,
- "license": "ISC",
- "dependencies": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "next-tick": "^1.1.0"
+ "node_modules/cssdb": {
+ "version": "8.5.2",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.5.2.tgz",
+ "integrity": "sha512-Pmoj9RmD8RIoIzA2EQWO4D4RMeDts0tgAH0VXdlNdxjuBGI3a9wMOIcUwaPNmD4r2qtIa06gqkIf7sECl+cBCg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ }
+ ],
+ "license": "MIT-0"
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
},
"engines": {
- "node": ">=0.10"
+ "node": ">=4"
}
},
- "node_modules/es6-iterator": {
- "version": "2.0.3",
+ "node_modules/cssnano-preset-advanced": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz",
+ "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==",
"license": "MIT",
"dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
+ "autoprefixer": "^10.4.19",
+ "browserslist": "^4.23.0",
+ "cssnano-preset-default": "^6.1.2",
+ "postcss-discard-unused": "^6.0.5",
+ "postcss-merge-idents": "^6.0.3",
+ "postcss-reduce-idents": "^6.0.3",
+ "postcss-zindex": "^6.0.2"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/es6-promise": {
- "version": "4.2.8",
- "license": "MIT"
- },
- "node_modules/es6-symbol": {
- "version": "3.1.3",
+ "node_modules/cssnano-preset-advanced/node_modules/css-declaration-sorter": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz",
+ "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==",
"license": "ISC",
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
}
},
- "node_modules/es6-weak-map": {
- "version": "2.0.3",
- "license": "ISC",
+ "node_modules/cssnano-preset-advanced/node_modules/css-select": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+ "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/escalade": {
- "version": "3.2.0",
+ "node_modules/cssnano-preset-advanced/node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
"engines": {
- "node": ">=6"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
- "node_modules/escape-html": {
- "version": "1.0.3",
- "license": "MIT"
+ "node_modules/cssnano-preset-advanced/node_modules/cssnano-preset-default": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz",
+ "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.23.0",
+ "css-declaration-sorter": "^7.2.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-calc": "^9.0.1",
+ "postcss-colormin": "^6.1.0",
+ "postcss-convert-values": "^6.1.0",
+ "postcss-discard-comments": "^6.0.2",
+ "postcss-discard-duplicates": "^6.0.3",
+ "postcss-discard-empty": "^6.0.3",
+ "postcss-discard-overridden": "^6.0.2",
+ "postcss-merge-longhand": "^6.0.5",
+ "postcss-merge-rules": "^6.1.1",
+ "postcss-minify-font-values": "^6.1.0",
+ "postcss-minify-gradients": "^6.0.3",
+ "postcss-minify-params": "^6.1.0",
+ "postcss-minify-selectors": "^6.0.4",
+ "postcss-normalize-charset": "^6.0.2",
+ "postcss-normalize-display-values": "^6.0.2",
+ "postcss-normalize-positions": "^6.0.2",
+ "postcss-normalize-repeat-style": "^6.0.2",
+ "postcss-normalize-string": "^6.0.2",
+ "postcss-normalize-timing-functions": "^6.0.2",
+ "postcss-normalize-unicode": "^6.1.0",
+ "postcss-normalize-url": "^6.0.2",
+ "postcss-normalize-whitespace": "^6.0.2",
+ "postcss-ordered-values": "^6.0.2",
+ "postcss-reduce-initial": "^6.1.0",
+ "postcss-reduce-transforms": "^6.0.2",
+ "postcss-svgo": "^6.0.3",
+ "postcss-unique-selectors": "^6.0.4"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
+ }
},
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
+ "node_modules/cssnano-preset-advanced/node_modules/cssnano-utils": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz",
+ "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==",
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint": {
- "version": "7.32.0",
+ "node_modules/cssnano-preset-advanced/node_modules/csso": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
+ "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
+ "css-tree": "~2.2.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
}
},
- "node_modules/eslint-config-react-app": {
- "version": "6.0.0",
+ "node_modules/cssnano-preset-advanced/node_modules/csso/node_modules/css-tree": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
+ "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
"license": "MIT",
"dependencies": {
- "confusing-browser-globals": "^1.0.10"
+ "mdn-data": "2.0.28",
+ "source-map-js": "^1.0.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
- },
- "peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^4.0.0",
- "@typescript-eslint/parser": "^4.0.0",
- "babel-eslint": "^10.0.0",
- "eslint": "^7.5.0",
- "eslint-plugin-flowtype": "^5.2.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-jest": "^24.0.0",
- "eslint-plugin-jsx-a11y": "^6.3.1",
- "eslint-plugin-react": "^7.20.3",
- "eslint-plugin-react-hooks": "^4.0.8",
- "eslint-plugin-testing-library": "^3.9.0"
- },
- "peerDependenciesMeta": {
- "eslint-plugin-jest": {
- "optional": true
- },
- "eslint-plugin-testing-library": {
- "optional": true
- }
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+ "npm": ">=7.0.0"
}
},
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.9",
+ "node_modules/cssnano-preset-advanced/node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.28",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
+ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
+ "license": "CC0-1.0"
+ },
+ "node_modules/cssnano-preset-advanced/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
"dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.13.0",
- "resolve": "^1.22.4"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/eslint-import-resolver-node/node_modules/resolve": {
- "version": "1.22.10",
- "license": "MIT",
+ "node_modules/cssnano-preset-advanced/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "is-core-module": "^2.16.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">= 4"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/eslint-module-utils": {
- "version": "2.12.0",
- "license": "MIT",
+ "node_modules/cssnano-preset-advanced/node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "debug": "^3.2.7"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
},
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/cssnano-preset-advanced/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=4"
+ "node": ">=0.12"
},
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/eslint-plugin-flowtype": {
- "version": "5.10.0",
- "license": "BSD-3-Clause",
+ "node_modules/cssnano-preset-advanced/node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "license": "CC0-1.0"
+ },
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-calc": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
+ "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==",
+ "license": "MIT",
"dependencies": {
- "lodash": "^4.17.15",
- "string-natural-compare": "^3.0.1"
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^7.1.0"
+ "postcss": "^8.2.2"
}
},
- "node_modules/eslint-plugin-import": {
- "version": "2.31.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-colormin": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz",
+ "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==",
"license": "MIT",
"dependencies": {
- "@rtsao/scc": "^1.1.0",
- "array-includes": "^3.1.8",
- "array.prototype.findlastindex": "^1.2.5",
- "array.prototype.flat": "^1.3.2",
- "array.prototype.flatmap": "^1.3.2",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.9",
- "eslint-module-utils": "^2.12.0",
- "hasown": "^2.0.2",
- "is-core-module": "^2.15.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.fromentries": "^2.0.8",
- "object.groupby": "^1.0.3",
- "object.values": "^1.2.0",
- "semver": "^6.3.1",
- "string.prototype.trimend": "^1.0.8",
- "tsconfig-paths": "^3.15.0"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.3",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=4"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "license": "Apache-2.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-convert-values": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz",
+ "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==",
+ "license": "MIT",
"dependencies": {
- "esutils": "^2.0.2"
+ "browserslist": "^4.23.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-discard-comments": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz",
+ "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==",
+ "license": "MIT",
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.10.2",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-discard-duplicates": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz",
+ "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==",
"license": "MIT",
- "dependencies": {
- "aria-query": "^5.3.2",
- "array-includes": "^3.1.8",
- "array.prototype.flatmap": "^1.3.2",
- "ast-types-flow": "^0.0.8",
- "axe-core": "^4.10.0",
- "axobject-query": "^4.1.0",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "hasown": "^2.0.2",
- "jsx-ast-utils": "^3.3.5",
- "language-tags": "^1.0.9",
- "minimatch": "^3.1.2",
- "object.fromentries": "^2.0.8",
- "safe-regex-test": "^1.0.3",
- "string.prototype.includes": "^2.0.1"
- },
"engines": {
- "node": ">=4.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-react": {
- "version": "7.37.5",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-discard-empty": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz",
+ "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==",
"license": "MIT",
- "dependencies": {
- "array-includes": "^3.1.8",
- "array.prototype.findlast": "^1.2.5",
- "array.prototype.flatmap": "^1.3.3",
- "array.prototype.tosorted": "^1.1.4",
- "doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.2.1",
- "estraverse": "^5.3.0",
- "hasown": "^2.0.2",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.9",
- "object.fromentries": "^2.0.8",
- "object.values": "^1.2.1",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.5",
- "semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.12",
- "string.prototype.repeat": "^1.0.0"
- },
"engines": {
- "node": ">=4"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-discard-overridden": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz",
+ "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==",
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "license": "Apache-2.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-merge-longhand": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz",
+ "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==",
+ "license": "MIT",
"dependencies": {
- "esutils": "^2.0.2"
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^6.1.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.5",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-merge-rules": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz",
+ "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==",
"license": "MIT",
"dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-selector-parser": "^6.0.16"
},
- "bin": {
- "resolve": "bin/resolve"
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "license": "BSD-2-Clause",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-minify-font-values": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz",
+ "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==",
+ "license": "MIT",
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-utils": {
- "version": "3.0.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-minify-gradients": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz",
+ "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "eslint-visitor-keys": "^2.0.0"
+ "colord": "^2.9.3",
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": ">=5"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/eslint-webpack-plugin": {
- "version": "2.7.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-minify-params": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz",
+ "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==",
"license": "MIT",
"dependencies": {
- "@types/eslint": "^7.29.0",
- "arrify": "^2.0.1",
- "jest-worker": "^27.5.1",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "schema-utils": "^3.1.1"
+ "browserslist": "^4.23.0",
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0",
- "webpack": "^4.0.0 || ^5.0.0"
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-webpack-plugin/node_modules/jest-worker": {
- "version": "27.5.1",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-minify-selectors": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz",
+ "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==",
"license": "MIT",
"dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
+ "postcss-selector-parser": "^6.0.16"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
- "version": "3.3.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-charset": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz",
+ "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==",
"license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint-webpack-plugin/node_modules/supports-color": {
- "version": "8.1.1",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-display-values": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz",
+ "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==",
"license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=10"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/@babel/code-frame": {
- "version": "7.12.11",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-positions": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz",
+ "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==",
"license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.10.4"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/argparse": {
- "version": "1.0.10",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-repeat-style": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz",
+ "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==",
"license": "MIT",
"dependencies": {
- "sprintf-js": "~1.0.2"
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/cross-spawn": {
- "version": "7.0.3",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-string": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz",
+ "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==",
"license": "MIT",
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">= 8"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/debug": {
- "version": "4.3.4",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-timing-functions": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz",
+ "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==",
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.0"
+ "node": "^14 || ^16 || >=18.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/eslint-utils": {
- "version": "2.1.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-unicode": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz",
+ "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==",
"license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^1.1.0"
+ "browserslist": "^4.23.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/globals": {
- "version": "13.15.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-url": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz",
+ "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==",
"license": "MIT",
"dependencies": {
- "type-fest": "^0.20.2"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14 || ^16 || >=18.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/ignore": {
- "version": "4.0.6",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-normalize-whitespace": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz",
+ "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==",
"license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
"engines": {
- "node": ">= 4"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/js-yaml": {
- "version": "3.14.1",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-ordered-values": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz",
+ "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==",
"license": "MIT",
"dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "cssnano-utils": "^4.0.2",
+ "postcss-value-parser": "^4.2.0"
},
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/eslint/node_modules/ms": {
- "version": "2.1.2",
- "license": "MIT"
- },
- "node_modules/eslint/node_modules/path-key": {
- "version": "3.1.1",
- "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/shebang-command": {
- "version": "2.0.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-reduce-initial": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz",
+ "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==",
"license": "MIT",
"dependencies": {
- "shebang-regex": "^3.0.0"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/shebang-regex": {
- "version": "3.0.0",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-reduce-transforms": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz",
+ "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==",
"license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
"engines": {
- "node": ">=8"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/eslint/node_modules/which": {
- "version": "2.0.2",
- "license": "ISC",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-svgo": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz",
+ "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==",
+ "license": "MIT",
"dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^3.2.0"
},
"engines": {
- "node": ">= 8"
+ "node": "^14 || ^16 || >= 18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/espree": {
- "version": "7.3.1",
- "license": "BSD-2-Clause",
+ "node_modules/cssnano-preset-advanced/node_modules/postcss-unique-selectors": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz",
+ "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==",
+ "license": "MIT",
"dependencies": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "postcss-selector-parser": "^6.0.16"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "license": "Apache-2.0",
+ "node_modules/cssnano-preset-advanced/node_modules/stylehacks": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz",
+ "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.23.0",
+ "postcss-selector-parser": "^6.0.16"
+ },
"engines": {
- "node": ">=4"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/esprima": {
- "version": "4.0.1",
- "license": "BSD-2-Clause",
+ "node_modules/cssnano-preset-advanced/node_modules/svgo": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
+ "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
+ "license": "MIT",
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^5.1.0",
+ "css-tree": "^2.3.1",
+ "css-what": "^6.1.0",
+ "csso": "^5.0.5",
+ "picocolors": "^1.0.0"
+ },
"bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
+ "svgo": "bin/svgo"
},
"engines": {
- "node": ">=4"
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/svgo"
}
},
- "node_modules/esquery": {
- "version": "1.4.0",
- "license": "BSD-3-Clause",
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "license": "MIT"
+ },
+ "node_modules/debounce": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+ "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
+ "license": "MIT"
+ },
+ "node_modules/decode-named-character-reference": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
+ "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
+ "license": "MIT",
"dependencies": {
- "estraverse": "^5.1.0"
+ "character-entities": "^2.0.0"
},
- "engines": {
- "node": ">=0.10"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "license": "BSD-2-Clause",
+ "node_modules/decompress-response": {
+ "version": "6.0.0",
+ "license": "MIT",
"dependencies": {
- "estraverse": "^5.2.0"
+ "mimic-response": "^3.1.0"
},
"engines": {
- "node": ">=4.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/estraverse": {
- "version": "5.3.0",
- "license": "BSD-2-Clause",
+ "node_modules/decompress-response/node_modules/mimic-response": {
+ "version": "3.1.0",
+ "license": "MIT",
"engines": {
- "node": ">=4.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/esutils": {
- "version": "2.0.3",
- "license": "BSD-2-Clause",
+ "node_modules/deep-extend": {
+ "version": "0.6.0",
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4.0.0"
}
},
- "node_modules/etag": {
- "version": "1.8.1",
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
"license": "MIT",
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.10.0"
}
},
- "node_modules/event-emitter": {
- "version": "0.3.5",
+ "node_modules/default-browser": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
+ "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
"license": "MIT",
"dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
+ "bundle-name": "^4.1.0",
+ "default-browser-id": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/event-source-polyfill": {
- "version": "1.0.31",
- "license": "MIT"
- },
- "node_modules/event-target-shim": {
+ "node_modules/default-browser-id": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
+ "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
"license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/events": {
- "version": "3.3.0",
+ "node_modules/defer-to-connect": {
+ "version": "2.0.1",
"license": "MIT",
"engines": {
- "node": ">=0.8.x"
+ "node": ">=10"
}
},
- "node_modules/execa": {
- "version": "5.1.1",
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
"license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/execa/node_modules/cross-spawn": {
- "version": "7.0.6",
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
"license": "MIT",
"dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
},
"engines": {
- "node": ">= 8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/execa/node_modules/path-key": {
- "version": "3.1.1",
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.4.0"
}
},
- "node_modules/execa/node_modules/shebang-command": {
+ "node_modules/depd": {
"version": "2.0.0",
"license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">= 0.8"
}
},
- "node_modules/execa/node_modules/shebang-regex": {
- "version": "3.0.0",
+ "node_modules/dependency-graph": {
+ "version": "0.11.0",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">= 0.6.0"
}
},
- "node_modules/execa/node_modules/which": {
- "version": "2.0.2",
- "license": "ISC",
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "node_modules/detect-port": {
+ "version": "1.6.1",
+ "license": "MIT",
"dependencies": {
- "isexe": "^2.0.0"
+ "address": "^1.0.1",
+ "debug": "4"
},
"bin": {
- "node-which": "bin/node-which"
+ "detect": "bin/detect-port.js",
+ "detect-port": "bin/detect-port.js"
},
"engines": {
- "node": ">= 8"
- }
- },
- "node_modules/expand-template": {
- "version": "2.0.3",
- "license": "(MIT OR WTFPL)",
- "engines": {
- "node": ">=6"
+ "node": ">= 4.0.0"
}
},
- "node_modules/express": {
- "version": "4.21.2",
+ "node_modules/detect-port/node_modules/debug": {
+ "version": "4.4.1",
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.7.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.3.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "6.13.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
+ "ms": "^2.1.3"
},
"engines": {
- "node": ">= 0.10.0"
+ "node": ">=6.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/express-http-proxy": {
- "version": "1.6.3",
+ "node_modules/devlop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
"license": "MIT",
"dependencies": {
- "debug": "^3.0.1",
- "es6-promise": "^4.1.1",
- "raw-body": "^2.3.0"
+ "dequal": "^2.0.0"
},
- "engines": {
- "node": ">=6.0.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/express/node_modules/cookie": {
- "version": "0.7.1",
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
"license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=8"
}
},
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
+ "node_modules/dns-packet": {
+ "version": "5.6.1",
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "@leichtgewicht/ip-codec": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/express/node_modules/path-to-regexp": {
- "version": "0.1.12",
- "license": "MIT"
- },
- "node_modules/ext": {
- "version": "1.6.0",
- "license": "ISC",
+ "node_modules/dom-converter": {
+ "version": "0.2.0",
+ "license": "MIT",
"dependencies": {
- "type": "^2.5.0"
+ "utila": "~0.4"
}
},
- "node_modules/ext/node_modules/type": {
- "version": "2.6.0",
- "license": "ISC"
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "license": "MIT"
- },
- "node_modules/external-editor": {
- "version": "3.1.0",
+ "node_modules/dom-serializer": {
+ "version": "1.4.1",
"license": "MIT",
"dependencies": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/external-editor/node_modules/tmp": {
- "version": "0.0.33",
- "license": "MIT",
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domhandler": {
+ "version": "4.3.1",
+ "license": "BSD-2-Clause",
"dependencies": {
- "os-tmpdir": "~1.0.2"
+ "domelementtype": "^2.2.0"
},
"engines": {
- "node": ">=0.6.0"
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/extract-files": {
- "version": "9.0.0",
- "license": "MIT",
- "engines": {
- "node": "^10.17.0 || ^12.0.0 || >= 13.7.0"
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
},
"funding": {
- "url": "https://github.com/sponsors/jaydenseric"
+ "url": "https://github.com/fb55/domutils?sponsor=1"
}
},
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "license": "MIT"
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
},
- "node_modules/fast-fifo": {
- "version": "1.3.2",
- "license": "MIT"
+ "node_modules/dot-case/node_modules/tslib": {
+ "version": "2.8.1",
+ "license": "0BSD"
},
- "node_modules/fast-glob": {
- "version": "3.3.3",
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
"license": "MIT",
"dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
},
"engines": {
- "node": ">=8.6.0"
+ "node": ">= 0.4"
}
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
+ "node_modules/duplexer": {
+ "version": "0.1.2",
"license": "MIT"
},
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"license": "MIT"
},
- "node_modules/fast-safe-stringify": {
- "version": "2.1.1",
+ "node_modules/ee-first": {
+ "version": "1.1.1",
"license": "MIT"
},
- "node_modules/fast-uri": {
- "version": "3.0.6",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "BSD-3-Clause"
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.265",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.265.tgz",
+ "integrity": "sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==",
+ "license": "ISC"
},
- "node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "license": "MIT",
- "engines": {
- "node": ">= 4.9.1"
- }
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "license": "MIT"
},
- "node_modules/fastq": {
- "version": "1.19.1",
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
+ "node_modules/emojilib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
+ "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
+ "license": "MIT"
},
- "node_modules/faye-websocket": {
- "version": "0.11.4",
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "license": "MIT",
"engines": {
- "node": ">=0.8.0"
+ "node": ">= 4"
}
},
- "node_modules/fb-watchman": {
- "version": "2.0.2",
- "license": "Apache-2.0",
- "dependencies": {
- "bser": "2.1.1"
+ "node_modules/emoticon": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz",
+ "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/fbjs": {
- "version": "3.0.5",
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
"license": "MIT",
- "dependencies": {
- "cross-fetch": "^3.1.5",
- "fbjs-css-vars": "^1.0.0",
- "loose-envify": "^1.0.0",
- "object-assign": "^4.1.0",
- "promise": "^7.1.1",
- "setimmediate": "^1.0.5",
- "ua-parser-js": "^1.0.35"
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/fbjs-css-vars": {
- "version": "1.0.2",
- "license": "MIT"
- },
- "node_modules/figures": {
- "version": "3.2.0",
+ "node_modules/enhanced-resolve": {
+ "version": "5.18.1",
"license": "MIT",
"dependencies": {
- "escape-string-regexp": "^1.0.5"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
},
"engines": {
- "node": ">=8"
- },
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "license": "BSD-2-Clause",
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/figures/node_modules/escape-string-regexp": {
- "version": "1.0.5",
+ "node_modules/error-ex": {
+ "version": "1.3.2",
"license": "MIT",
- "engines": {
- "node": ">=0.8.0"
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
}
},
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
"license": "MIT",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">= 0.4"
}
},
- "node_modules/file-loader": {
- "version": "6.2.0",
+ "node_modules/es-errors": {
+ "version": "1.3.0",
"license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "node": ">= 0.4"
}
},
- "node_modules/file-loader/node_modules/schema-utils": {
- "version": "3.1.1",
+ "node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "license": "MIT"
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "es-errors": "^1.3.0"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">= 0.4"
}
},
- "node_modules/file-type": {
- "version": "16.5.4",
+ "node_modules/esast-util-from-estree": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz",
+ "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==",
"license": "MIT",
"dependencies": {
- "readable-web-to-node-stream": "^3.0.0",
- "strtok3": "^6.2.4",
- "token-types": "^4.1.1"
- },
- "engines": {
- "node": ">=10"
+ "@types/estree-jsx": "^1.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-visit": "^2.0.0",
+ "unist-util-position-from-estree": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
- }
- },
- "node_modules/filesize": {
- "version": "8.0.7",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">= 0.4.0"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/fill-range": {
- "version": "7.1.1",
+ "node_modules/esast-util-from-js": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz",
+ "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==",
"license": "MIT",
"dependencies": {
- "to-regex-range": "^5.0.1"
+ "@types/estree-jsx": "^1.0.0",
+ "acorn": "^8.0.0",
+ "esast-util-from-estree": "^2.0.0",
+ "vfile-message": "^4.0.0"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/filter-obj": {
- "version": "1.1.0",
+ "node_modules/esast-util-from-js/node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.4.0"
}
},
- "node_modules/finalhandler": {
- "version": "1.3.1",
+ "node_modules/escalade": {
+ "version": "3.2.0",
"license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
"engines": {
- "node": ">= 0.8"
+ "node": ">=6"
}
},
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
+ "node_modules/escape-goat": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz",
+ "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==",
"license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
+ "node_modules/escape-html": {
+ "version": "1.0.3",
"license": "MIT"
},
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
"license": "MIT",
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/find-up": {
- "version": "4.1.0",
- "license": "MIT",
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "license": "BSD-2-Clause",
"dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.0.0"
}
},
- "node_modules/find-up/node_modules/path-exists": {
- "version": "4.0.0",
- "license": "MIT",
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=8"
+ "node": ">=4.0"
}
},
- "node_modules/flat": {
- "version": "5.0.2",
- "license": "BSD-3-Clause",
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "license": "BSD-2-Clause",
"bin": {
- "flat": "cli.js"
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "license": "MIT",
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "license": "BSD-2-Clause",
"dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
+ "estraverse": "^5.2.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=4.0"
}
},
- "node_modules/flatted": {
- "version": "3.2.5",
- "license": "ISC"
- },
- "node_modules/follow-redirects": {
- "version": "1.15.9",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
}
},
- "node_modules/for-each": {
- "version": "0.3.5",
+ "node_modules/estree-util-attach-comments": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz",
+ "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==",
"license": "MIT",
"dependencies": {
- "is-callable": "^1.2.7"
- },
- "engines": {
- "node": ">= 0.4"
+ "@types/estree": "^1.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/fork-ts-checker-webpack-plugin": {
- "version": "6.5.2",
+ "node_modules/estree-util-build-jsx": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz",
+ "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.8.3",
- "@types/json-schema": "^7.0.5",
- "chalk": "^4.1.0",
- "chokidar": "^3.4.2",
- "cosmiconfig": "^6.0.0",
- "deepmerge": "^4.2.2",
- "fs-extra": "^9.0.0",
- "glob": "^7.1.6",
- "memfs": "^3.1.2",
- "minimatch": "^3.0.4",
- "schema-utils": "2.7.0",
- "semver": "^7.3.2",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=10",
- "yarn": ">=1.0.0"
- },
- "peerDependencies": {
- "eslint": ">= 6",
- "typescript": ">= 2.7",
- "vue-template-compiler": "*",
- "webpack": ">= 4"
+ "@types/estree-jsx": "^1.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "estree-walker": "^3.0.0"
},
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- },
- "vue-template-compiler": {
- "optional": true
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": {
- "version": "6.0.0",
+ "node_modules/estree-util-is-identifier-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/estree-util-scope": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz",
+ "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==",
"license": "MIT",
"dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
+ "@types/estree": "^1.0.0",
+ "devlop": "^1.0.0"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": {
- "version": "2.7.0",
+ "node_modules/estree-util-to-js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz",
+ "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==",
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
- },
- "engines": {
- "node": ">= 8.9.0"
+ "@types/estree-jsx": "^1.0.0",
+ "astring": "^1.8.0",
+ "source-map": "^0.7.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": {
- "version": "1.1.3",
+ "node_modules/estree-util-value-to-estree": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz",
+ "integrity": "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==",
"license": "MIT",
- "engines": {
- "node": ">=6"
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/remcohaszing"
}
},
- "node_modules/form-data": {
- "version": "3.0.1",
+ "node_modules/estree-util-visit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz",
+ "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==",
"license": "MIT",
"dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
+ "@types/estree-jsx": "^1.0.0",
+ "@types/unist": "^3.0.0"
},
- "engines": {
- "node": ">= 6"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/form-data-encoder": {
- "version": "2.1.4",
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
"license": "MIT",
- "engines": {
- "node": ">= 14.17"
+ "dependencies": {
+ "@types/estree": "^1.0.0"
}
},
- "node_modules/forwarded": {
- "version": "0.2.0",
- "license": "MIT",
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.10.0"
}
},
- "node_modules/fraction.js": {
- "version": "4.3.7",
+ "node_modules/eta": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz",
+ "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==",
"license": "MIT",
"engines": {
- "node": "*"
+ "node": ">=6.0.0"
},
"funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
+ "url": "https://github.com/eta-dev/eta?sponsor=1"
}
},
- "node_modules/fresh": {
- "version": "0.5.2",
+ "node_modules/etag": {
+ "version": "1.8.1",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "license": "MIT"
- },
- "node_modules/fs-exists-cached": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "node_modules/fs-extra": {
- "version": "9.1.0",
- "license": "MIT",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/fs-monkey": {
- "version": "1.0.3",
- "license": "Unlicense"
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "license": "ISC"
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.8",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "functions-have-names": "^1.2.3",
- "hasown": "^2.0.2",
- "is-callable": "^1.2.7"
+ },
+ "node_modules/eval": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz",
+ "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==",
+ "dependencies": {
+ "@types/node": "*",
+ "require-like": ">= 0.1.1"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">= 0.8"
}
},
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
"license": "MIT"
},
- "node_modules/functions-have-names": {
- "version": "1.2.3",
+ "node_modules/events": {
+ "version": "3.3.0",
"license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": ">=0.8.x"
}
},
- "node_modules/gatsby": {
- "version": "5.14.3",
- "hasInstallScript": true,
+ "node_modules/eventsource-parser": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
+ "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
"license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/core": "^7.20.12",
- "@babel/eslint-parser": "^7.19.1",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/parser": "^7.20.13",
- "@babel/runtime": "^7.20.13",
- "@babel/traverse": "^7.20.13",
- "@babel/types": "^7.20.7",
- "@builder.io/partytown": "^0.7.5",
- "@gatsbyjs/reach-router": "^2.0.1",
- "@gatsbyjs/webpack-hot-middleware": "^2.25.3",
- "@graphql-codegen/add": "^3.2.3",
- "@graphql-codegen/core": "^2.6.8",
- "@graphql-codegen/plugin-helpers": "^2.7.2",
- "@graphql-codegen/typescript": "^2.8.8",
- "@graphql-codegen/typescript-operations": "^2.5.13",
- "@graphql-tools/code-file-loader": "^7.3.23",
- "@graphql-tools/load": "^7.8.14",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@nodelib/fs.walk": "^1.2.8",
- "@parcel/cache": "2.8.3",
- "@parcel/core": "2.8.3",
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
- "@sigmacomputing/babel-plugin-lodash": "^3.3.5",
- "@types/http-proxy": "^1.17.11",
- "@typescript-eslint/eslint-plugin": "^5.60.1",
- "@typescript-eslint/parser": "^5.60.1",
- "@vercel/webpack-asset-relocator-loader": "1.7.3",
- "acorn-loose": "^8.3.0",
- "acorn-walk": "^8.2.0",
- "address": "1.2.2",
- "anser": "^2.1.1",
- "autoprefixer": "^10.4.14",
- "axios": "^1.6.4",
- "babel-jsx-utils": "^1.1.0",
- "babel-loader": "^8.3.0",
- "babel-plugin-add-module-exports": "^1.0.4",
- "babel-plugin-dynamic-import-node": "^2.3.3",
- "babel-plugin-remove-graphql-queries": "^5.14.0",
- "babel-preset-gatsby": "^3.14.0",
- "better-opn": "^2.1.1",
- "bluebird": "^3.7.2",
- "body-parser": "1.20.3",
- "browserslist": "^4.21.9",
- "cache-manager": "^2.11.1",
- "chalk": "^4.1.2",
- "chokidar": "^3.5.3",
- "common-tags": "^1.8.2",
- "compression": "^1.7.4",
- "cookie": "^0.5.0",
- "core-js": "^3.31.0",
- "cors": "^2.8.5",
- "css-loader": "^5.2.7",
- "css-minimizer-webpack-plugin": "^2.0.0",
- "css.escape": "^1.5.1",
- "date-fns": "^2.30.0",
- "debug": "^4.3.4",
- "deepmerge": "^4.3.1",
- "detect-port": "^1.5.1",
- "devcert": "^1.2.2",
- "dotenv": "^8.6.0",
- "enhanced-resolve": "^5.15.0",
- "error-stack-parser": "^2.1.4",
- "eslint": "^7.32.0",
- "eslint-config-react-app": "^6.0.0",
- "eslint-plugin-flowtype": "^5.10.0",
- "eslint-plugin-import": "^2.27.5",
- "eslint-plugin-jsx-a11y": "^6.8.0",
- "eslint-plugin-react": "^7.32.2",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-webpack-plugin": "^2.7.0",
- "event-source-polyfill": "1.0.31",
- "execa": "^5.1.1",
- "express": "^4.18.2",
- "express-http-proxy": "^1.6.3",
- "fastest-levenshtein": "^1.0.16",
- "fastq": "^1.15.0",
- "file-loader": "^6.2.0",
- "find-cache-dir": "^3.3.2",
- "fs-exists-cached": "1.0.0",
- "fs-extra": "^11.2.0",
- "gatsby-cli": "^5.14.0",
- "gatsby-core-utils": "^4.14.0",
- "gatsby-graphiql-explorer": "^3.14.1",
- "gatsby-legacy-polyfills": "^3.14.0",
- "gatsby-link": "^5.14.1",
- "gatsby-page-utils": "^3.14.0",
- "gatsby-parcel-config": "1.14.0",
- "gatsby-plugin-page-creator": "^5.14.0",
- "gatsby-plugin-typescript": "^5.14.0",
- "gatsby-plugin-utils": "^4.14.0",
- "gatsby-react-router-scroll": "^6.14.0",
- "gatsby-script": "^2.14.0",
- "gatsby-worker": "^2.14.0",
- "glob": "^7.2.3",
- "globby": "^11.1.0",
- "got": "^11.8.6",
- "graphql": "^16.7.1",
- "graphql-compose": "^9.0.10",
- "graphql-http": "^1.19.0",
- "graphql-tag": "^2.12.6",
- "hasha": "^5.2.2",
- "invariant": "^2.2.4",
- "is-relative": "^1.0.0",
- "is-relative-url": "^3.0.0",
- "joi": "^17.9.2",
- "json-loader": "^0.5.7",
- "latest-version": "^7.0.0",
- "linkfs": "^2.1.0",
- "lmdb": "2.5.3",
- "lodash": "^4.17.21",
- "meant": "^1.0.3",
- "memoizee": "^0.4.15",
- "micromatch": "^4.0.5",
- "mime": "^3.0.0",
- "mini-css-extract-plugin": "1.6.2",
- "mitt": "^1.2.0",
- "moment": "^2.29.4",
- "multer": "^1.4.5-lts.1",
- "node-fetch": "^2.6.11",
- "node-html-parser": "^5.4.2",
- "normalize-path": "^3.0.0",
- "null-loader": "^4.0.1",
- "opentracing": "^0.14.7",
- "p-defer": "^3.0.0",
- "parseurl": "^1.3.3",
- "path-to-regexp": "0.1.10",
- "physical-cpu-count": "^2.0.0",
- "platform": "^1.3.6",
- "postcss": "^8.4.24",
- "postcss-flexbugs-fixes": "^5.0.2",
- "postcss-loader": "^5.3.0",
- "prompts": "^2.4.2",
- "prop-types": "^15.8.1",
- "query-string": "^6.14.1",
- "raw-loader": "^4.0.2",
- "react-dev-utils": "^12.0.1",
- "react-refresh": "^0.14.0",
- "react-server-dom-webpack": "0.0.0-experimental-c8b778b7f-20220825",
- "redux": "4.2.1",
- "redux-thunk": "^2.4.2",
- "resolve-from": "^5.0.0",
- "semver": "^7.5.3",
- "shallow-compare": "^1.2.2",
- "signal-exit": "^3.0.7",
- "slugify": "^1.6.6",
- "socket.io": "4.7.1",
- "socket.io-client": "4.7.1",
- "stack-trace": "^0.0.10",
- "string-similarity": "^1.2.2",
- "strip-ansi": "^6.0.1",
- "style-loader": "^2.0.0",
- "style-to-object": "^0.4.1",
- "terser-webpack-plugin": "^5.3.9",
- "tmp": "^0.2.1",
- "true-case-path": "^2.2.1",
- "type-of": "^2.0.1",
- "url-loader": "^4.1.1",
- "uuid": "^8.3.2",
- "webpack": "~5.98.0",
- "webpack-dev-middleware": "^5.3.4",
- "webpack-merge": "^5.9.0",
- "webpack-stats-plugin": "^1.1.3",
- "webpack-virtual-modules": "^0.5.0",
- "xstate": "^4.38.0",
- "yaml-loader": "^0.8.0"
- },
- "bin": {
- "gatsby": "cli.js"
- },
"engines": {
"node": ">=18.0.0"
- },
- "optionalDependencies": {
- "gatsby-sharp": "^1.14.0"
- },
- "peerDependencies": {
- "react": "^18.0.0 || ^0.0.0",
- "react-dom": "^18.0.0 || ^0.0.0"
}
},
- "node_modules/gatsby-cli": {
- "version": "5.14.0",
- "hasInstallScript": true,
+ "node_modules/execa": {
+ "version": "5.1.1",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/core": "^7.20.12",
- "@babel/generator": "^7.20.14",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/preset-typescript": "^7.18.6",
- "@babel/runtime": "^7.20.13",
- "@babel/template": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@types/common-tags": "^1.8.1",
- "better-opn": "^2.1.1",
- "boxen": "^5.1.2",
- "chalk": "^4.1.2",
- "clipboardy": "^4.0.0",
- "common-tags": "^1.8.2",
- "convert-hrtime": "^3.0.0",
- "create-gatsby": "^3.14.0",
- "envinfo": "^7.10.0",
- "execa": "^5.1.1",
- "fs-exists-cached": "^1.0.0",
- "fs-extra": "^11.2.0",
- "gatsby-core-utils": "^4.14.0",
- "hosted-git-info": "^3.0.8",
- "is-valid-path": "^0.1.1",
- "joi": "^17.9.2",
- "lodash": "^4.17.21",
- "node-fetch": "^2.6.11",
- "opentracing": "^0.14.7",
- "pretty-error": "^2.1.2",
- "progress": "^2.0.3",
- "prompts": "^2.4.2",
- "redux": "4.2.1",
- "resolve-cwd": "^3.0.0",
- "semver": "^7.5.3",
- "signal-exit": "^3.0.7",
- "stack-trace": "^0.0.10",
- "strip-ansi": "^6.0.1",
- "yargs": "^15.4.1",
- "yoga-layout-prebuilt": "^1.10.0",
- "yurnalist": "^2.1.0"
- },
- "bin": {
- "gatsby": "cli.js"
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/gatsby-cli/node_modules/fs-extra": {
- "version": "11.3.0",
+ "node_modules/execa/node_modules/cross-spawn": {
+ "version": "7.0.6",
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
},
"engines": {
- "node": ">=14.14"
+ "node": ">= 8"
}
},
- "node_modules/gatsby-cli/node_modules/node-fetch": {
- "version": "2.7.0",
+ "node_modules/execa/node_modules/path-key": {
+ "version": "3.1.1",
"license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
"engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/gatsby-core-utils": {
- "version": "4.14.0",
+ "node_modules/execa/node_modules/shebang-command": {
+ "version": "2.0.0",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "ci-info": "2.0.0",
- "configstore": "^5.0.1",
- "fastq": "^1.15.0",
- "file-type": "^16.5.4",
- "fs-extra": "^11.2.0",
- "got": "^11.8.6",
- "hash-wasm": "^4.11.0",
- "import-from": "^4.0.0",
- "lmdb": "2.5.3",
- "lock": "^1.1.0",
- "node-object-hash": "^2.3.10",
- "proper-lockfile": "^4.1.2",
- "resolve-from": "^5.0.0",
- "tmp": "^0.2.1",
- "xdg-basedir": "^4.0.0"
+ "shebang-regex": "^3.0.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=8"
}
},
- "node_modules/gatsby-core-utils/node_modules/fs-extra": {
- "version": "11.3.0",
+ "node_modules/execa/node_modules/shebang-regex": {
+ "version": "3.0.0",
"license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/execa/node_modules/which": {
+ "version": "2.0.2",
+ "license": "ISC",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
},
"engines": {
- "node": ">=14.14"
+ "node": ">= 8"
}
},
- "node_modules/gatsby-graphiql-explorer": {
- "version": "3.14.1",
+ "node_modules/express": {
+ "version": "4.21.2",
"license": "MIT",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.3",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.7.1",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.3.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.12",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.13.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.19.0",
+ "serve-static": "1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
"engines": {
- "node": ">=14.15.0"
+ "node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/gatsby-legacy-polyfills": {
- "version": "3.14.0",
+ "node_modules/express/node_modules/cookie": {
+ "version": "0.7.1",
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.20.13",
- "core-js-compat": "3.31.0"
+ "engines": {
+ "node": ">= 0.6"
}
},
- "node_modules/gatsby-legacy-polyfills/node_modules/core-js-compat": {
- "version": "3.31.0",
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.21.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
+ "ms": "2.0.0"
}
},
- "node_modules/gatsby-link": {
- "version": "5.14.1",
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/express/node_modules/path-to-regexp": {
+ "version": "0.1.12",
+ "license": "MIT"
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "license": "MIT"
+ },
+ "node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"license": "MIT",
"dependencies": {
- "@types/reach__router": "^1.3.10",
- "gatsby-page-utils": "^3.14.0",
- "prop-types": "^15.8.1"
+ "is-extendable": "^0.1.0"
},
"engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "@gatsbyjs/reach-router": "^2.0.0",
- "react": "^18.0.0 || ^0.0.0",
- "react-dom": "^18.0.0 || ^0.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/gatsby-page-utils": {
- "version": "3.14.0",
+ "node_modules/external-editor": {
+ "version": "3.1.0",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "bluebird": "^3.7.2",
- "chokidar": "^3.5.3",
- "fs-exists-cached": "^1.0.0",
- "gatsby-core-utils": "^4.14.0",
- "glob": "^7.2.3",
- "lodash": "^4.17.21",
- "micromatch": "^4.0.5"
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=4"
}
},
- "node_modules/gatsby-parcel-config": {
- "version": "1.14.0",
+ "node_modules/external-editor/node_modules/tmp": {
+ "version": "0.0.33",
"license": "MIT",
"dependencies": {
- "@gatsbyjs/parcel-namer-relative-to-cwd": "2.14.0",
- "@parcel/bundler-default": "2.8.3",
- "@parcel/compressor-raw": "2.8.3",
- "@parcel/namer-default": "2.8.3",
- "@parcel/optimizer-terser": "2.8.3",
- "@parcel/packager-js": "2.8.3",
- "@parcel/packager-raw": "2.8.3",
- "@parcel/reporter-dev-server": "2.8.3",
- "@parcel/resolver-default": "2.8.3",
- "@parcel/runtime-js": "2.8.3",
- "@parcel/transformer-js": "2.8.3",
- "@parcel/transformer-json": "2.8.3"
+ "os-tmpdir": "~1.0.2"
},
"engines": {
- "parcel": "2.x"
- },
- "peerDependencies": {
- "@parcel/core": "^2.0.0"
+ "node": ">=0.6.0"
}
},
- "node_modules/gatsby-plugin-page-creator": {
- "version": "5.14.0",
+ "node_modules/extract-files": {
+ "version": "9.0.0",
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.20.13",
- "@babel/traverse": "^7.20.13",
- "@sindresorhus/slugify": "^1.1.2",
- "chokidar": "^3.5.3",
- "fs-exists-cached": "^1.0.0",
- "fs-extra": "^11.2.0",
- "gatsby-core-utils": "^4.14.0",
- "gatsby-page-utils": "^3.14.0",
- "gatsby-plugin-utils": "^4.14.0",
- "globby": "^11.1.0",
- "lodash": "^4.17.21"
- },
"engines": {
- "node": ">=18.0.0"
+ "node": "^10.17.0 || ^12.0.0 || >= 13.7.0"
},
- "peerDependencies": {
- "gatsby": "^5.0.0-next"
+ "funding": {
+ "url": "https://github.com/sponsors/jaydenseric"
}
},
- "node_modules/gatsby-plugin-page-creator/node_modules/fs-extra": {
- "version": "11.3.0",
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
},
"engines": {
- "node": ">=14.14"
+ "node": ">=8.6.0"
}
},
- "node_modules/gatsby-plugin-typescript": {
- "version": "5.14.0",
- "license": "MIT",
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "license": "MIT"
+ },
+ "node_modules/fast-safe-stringify": {
+ "version": "2.1.1",
+ "license": "MIT"
+ },
+ "node_modules/fast-uri": {
+ "version": "3.0.6",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/fastq": {
+ "version": "1.19.1",
+ "license": "ISC",
"dependencies": {
- "@babel/core": "^7.20.12",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.20.7",
- "@babel/preset-typescript": "^7.18.6",
- "@babel/runtime": "^7.20.13",
- "babel-plugin-remove-graphql-queries": "^5.14.0"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "gatsby": "^5.0.0-next"
+ "reusify": "^1.0.4"
}
},
- "node_modules/gatsby-plugin-utils": {
- "version": "4.14.0",
+ "node_modules/fault": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz",
+ "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "fastq": "^1.16.0",
- "fs-extra": "^11.2.0",
- "gatsby-core-utils": "^4.14.0",
- "gatsby-sharp": "^1.14.0",
- "graphql-compose": "^9.0.10",
- "import-from": "^4.0.0",
- "joi": "^17.11.0",
- "mime": "^3.0.0"
+ "format": "^0.2.0"
},
- "engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "gatsby": "^5.0.0-next",
- "graphql": "^16.0.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/gatsby-plugin-utils/node_modules/fs-extra": {
- "version": "11.3.0",
- "license": "MIT",
+ "node_modules/faye-websocket": {
+ "version": "0.11.4",
+ "license": "Apache-2.0",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "websocket-driver": ">=0.5.1"
},
"engines": {
- "node": ">=14.14"
+ "node": ">=0.8.0"
}
},
- "node_modules/gatsby-react-router-scroll": {
- "version": "6.14.0",
+ "node_modules/feed": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz",
+ "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.20.13",
- "prop-types": "^15.8.1"
+ "xml-js": "^1.6.11"
},
"engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "@gatsbyjs/reach-router": "^2.0.0",
- "react": "^18.0.0 || ^0.0.0",
- "react-dom": "^18.0.0 || ^0.0.0"
- }
- },
- "node_modules/gatsby-script": {
- "version": "2.14.0",
- "license": "MIT",
- "engines": {
- "node": ">=18.0.0"
- },
- "peerDependencies": {
- "@gatsbyjs/reach-router": "^2.0.0",
- "react": "^18.0.0 || ^0.0.0",
- "react-dom": "^18.0.0 || ^0.0.0"
+ "node": ">=0.4.0"
}
},
- "node_modules/gatsby-sharp": {
- "version": "1.14.0",
+ "node_modules/figures": {
+ "version": "3.2.0",
"license": "MIT",
"dependencies": {
- "sharp": "^0.32.6"
+ "escape-string-regexp": "^1.0.5"
},
"engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/gatsby-worker": {
- "version": "2.14.0",
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.20.12",
- "@babel/runtime": "^7.20.13",
- "fs-extra": "^11.2.0",
- "signal-exit": "^3.0.7"
+ "node": ">=8"
},
- "engines": {
- "node": ">=18.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/gatsby-worker/node_modules/fs-extra": {
- "version": "11.3.0",
+ "node_modules/figures/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
"license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
"engines": {
- "node": ">=14.14"
+ "node": ">=0.8.0"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.62.0",
+ "node_modules/file-loader": {
+ "version": "6.2.0",
"license": "MIT",
"dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/type-utils": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": {
- "version": "5.62.0",
+ "node_modules/file-loader/node_modules/schema-utils": {
+ "version": "3.1.1",
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
+ "node_modules/fill-range": {
+ "version": "7.1.1",
"license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
+ "to-regex-range": "^5.0.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "node": ">=8"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils/node_modules/@eslint-community/eslint-utils": {
- "version": "4.7.0",
+ "node_modules/finalhandler": {
+ "version": "1.3.1",
"license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.4.3"
+ "debug": "2.6.9",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "node": ">= 0.8"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/parser": {
- "version": "5.62.0",
- "license": "BSD-2-Clause",
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
- },
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "license": "BSD-3-Clause",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.9",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "node": ">=4.0"
},
"peerDependenciesMeta": {
- "typescript": {
+ "debug": {
"optional": true
}
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
+ "node_modules/form-data": {
+ "version": "3.0.1",
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">= 6"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
+ "node_modules/form-data-encoder": {
+ "version": "2.1.4",
"license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">= 14.17"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
+ "node_modules/format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "node": ">=0.4.x"
}
},
- "node_modules/gatsby/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
+ "node_modules/forwarded": {
+ "version": "0.2.0",
"license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">= 0.6"
}
},
- "node_modules/gatsby/node_modules/debug": {
- "version": "4.4.1",
+ "node_modules/fraction.js": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/gatsby/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "*"
},
"funding": {
- "url": "https://opencollective.com/eslint"
+ "type": "github",
+ "url": "https://github.com/sponsors/rawify"
}
},
- "node_modules/gatsby/node_modules/fs-extra": {
- "version": "11.3.0",
+ "node_modules/fresh": {
+ "version": "0.5.2",
"license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
"engines": {
- "node": ">=14.14"
+ "node": ">= 0.6"
}
},
- "node_modules/gatsby/node_modules/graphql": {
- "version": "16.11.0",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/gatsby/node_modules/node-fetch": {
- "version": "2.7.0",
+ "node_modules/function-bind": {
+ "version": "1.1.2",
"license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/gensync": {
@@ -9936,13 +10668,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
"node_modules/get-intrinsic": {
"version": "1.3.0",
"license": "MIT",
@@ -9965,12 +10690,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-port": {
- "version": "3.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
+ "node_modules/get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "license": "ISC"
},
"node_modules/get-proto": {
"version": "1.0.1",
@@ -9993,42 +10717,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/get-symbol-description": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/github-from-package": {
- "version": "0.0.0",
- "license": "MIT"
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
+ "node_modules/github-slugger": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz",
+ "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==",
+ "license": "ISC"
},
"node_modules/glob-parent": {
"version": "5.1.2",
@@ -10044,26 +10737,28 @@
"version": "0.4.1",
"license": "BSD-2-Clause"
},
- "node_modules/global-modules": {
- "version": "2.0.0",
+ "node_modules/global-dirs": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
+ "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
"license": "MIT",
"dependencies": {
- "global-prefix": "^3.0.0"
+ "ini": "2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "license": "MIT",
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
+ "node_modules/global-dirs/node_modules/ini": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "license": "ISC",
"engines": {
- "node": ">=6"
+ "node": ">=10"
}
},
"node_modules/globals": {
@@ -10073,20 +10768,6 @@
"node": ">=4"
}
},
- "node_modules/globalthis": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "define-properties": "^1.2.1",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/globby": {
"version": "11.1.0",
"license": "MIT",
@@ -10115,67 +10796,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/got": {
- "version": "11.8.6",
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/got?sponsor=1"
- }
- },
"node_modules/graceful-fs": {
"version": "4.2.10",
"license": "ISC"
},
- "node_modules/graphemer": {
- "version": "1.4.0",
- "license": "MIT"
- },
"node_modules/graphql": {
"version": "16.3.0",
"license": "MIT",
+ "peer": true,
"engines": {
"node": "^12.22.0 || ^14.16.0 || >=16.0.0"
}
},
- "node_modules/graphql-compose": {
- "version": "9.1.0",
- "license": "MIT",
- "dependencies": {
- "graphql-type-json": "0.3.2"
- },
- "peerDependencies": {
- "graphql": "^14.2.0 || ^15.0.0 || ^16.0.0"
- }
- },
- "node_modules/graphql-http": {
- "version": "1.22.4",
- "license": "MIT",
- "workspaces": [
- "implementations/**/*"
- ],
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "graphql": ">=0.11 <=16"
- }
- },
"node_modules/graphql-request": {
"version": "4.1.0",
"license": "MIT",
@@ -10188,28 +10820,41 @@
"graphql": "14 - 16"
}
},
- "node_modules/graphql-tag": {
- "version": "2.12.6",
+ "node_modules/gray-matter": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.1.0"
+ "js-yaml": "^3.13.1",
+ "kind-of": "^6.0.2",
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
},
"engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "node": ">=6.0"
}
},
- "node_modules/graphql-tag/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/gray-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
},
- "node_modules/graphql-type-json": {
- "version": "0.3.2",
+ "node_modules/gray-matter/node_modules/js-yaml": {
+ "version": "3.14.2",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+ "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
"license": "MIT",
- "peerDependencies": {
- "graphql": ">=0.8.0"
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
"node_modules/gzip-size": {
@@ -10227,19 +10872,7 @@
},
"node_modules/handle-thing": {
"version": "2.0.1",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/has-bigints": {
- "version": "1.1.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "license": "MIT"
},
"node_modules/has-flag": {
"version": "4.0.0",
@@ -10258,12 +10891,9 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-proto": {
- "version": "1.2.0",
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
"license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.0"
- },
"engines": {
"node": ">= 0.4"
},
@@ -10271,62 +10901,188 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-symbols": {
- "version": "1.1.0",
+ "node_modules/has-yarn": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz",
+ "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==",
"license": "MIT",
"engines": {
- "node": ">= 0.4"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
+ "node_modules/hasown": {
+ "version": "2.0.2",
"license": "MIT",
"dependencies": {
- "has-symbols": "^1.0.3"
+ "function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
+ }
+ },
+ "node_modules/hast-util-from-parse5": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz",
+ "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "devlop": "^1.0.0",
+ "hastscript": "^9.0.0",
+ "property-information": "^7.0.0",
+ "vfile": "^6.0.0",
+ "vfile-location": "^5.0.0",
+ "web-namespaces": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/hash-wasm": {
- "version": "4.12.0",
- "license": "MIT"
+ "node_modules/hast-util-parse-selector": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
+ "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
},
- "node_modules/hasha": {
- "version": "5.2.2",
+ "node_modules/hast-util-raw": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz",
+ "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==",
"license": "MIT",
"dependencies": {
- "is-stream": "^2.0.0",
- "type-fest": "^0.8.0"
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "hast-util-from-parse5": "^8.0.0",
+ "hast-util-to-parse5": "^8.0.0",
+ "html-void-elements": "^3.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "parse5": "^7.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0",
+ "web-namespaces": "^2.0.0",
+ "zwitch": "^2.0.0"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-estree": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz",
+ "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-attach-comments": "^3.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-js": "^1.0.0",
+ "unist-util-position": "^5.0.0",
+ "zwitch": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/hasha/node_modules/type-fest": {
- "version": "0.8.1",
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=8"
+ "node_modules/hast-util-to-jsx-runtime": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-js": "^1.0.0",
+ "unist-util-position": "^5.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/hasown": {
- "version": "2.0.2",
+ "node_modules/hast-util-to-parse5": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz",
+ "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==",
"license": "MIT",
"dependencies": {
- "function-bind": "^1.1.2"
+ "@types/hast": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "devlop": "^1.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "web-namespaces": "^2.0.0",
+ "zwitch": "^2.0.0"
},
- "engines": {
- "node": ">= 0.4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hastscript": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz",
+ "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-parse-selector": "^4.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
"node_modules/he": {
@@ -10336,67 +11092,108 @@
"he": "bin/he"
}
},
- "node_modules/header-case": {
- "version": "2.0.4",
+ "node_modules/history": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
+ "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
"license": "MIT",
"dependencies": {
- "capital-case": "^1.0.4",
- "tslib": "^2.0.3"
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
}
},
- "node_modules/header-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
},
- "node_modules/hosted-git-info": {
- "version": "3.0.8",
- "license": "ISC",
+ "node_modules/hpack.js": {
+ "version": "2.1.6",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "license": "MIT"
+ },
+ "node_modules/html-minifier-terser": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz",
+ "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^6.0.0"
+ "camel-case": "^4.1.2",
+ "clean-css": "~5.3.2",
+ "commander": "^10.0.0",
+ "entities": "^4.4.0",
+ "param-case": "^3.0.4",
+ "relateurl": "^0.2.7",
+ "terser": "^5.15.1"
+ },
+ "bin": {
+ "html-minifier-terser": "cli.js"
},
"engines": {
- "node": ">=10"
+ "node": "^14.13.1 || >=16.0.0"
}
},
- "node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "6.0.0",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
+ "node_modules/html-minifier-terser/node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=14"
}
},
- "node_modules/hosted-git-info/node_modules/yallist": {
- "version": "4.0.0",
- "license": "ISC"
+ "node_modules/html-minifier-terser/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
},
- "node_modules/hpack.js": {
- "version": "2.1.6",
+ "node_modules/html-tags": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/html-entities": {
- "version": "2.6.0",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/mdevils"
- },
- {
- "type": "patreon",
- "url": "https://patreon.com/mdevils"
- }
- ],
- "license": "MIT"
+ "node_modules/html-void-elements": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+ "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
"node_modules/htmlparser2": {
"version": "6.1.0",
@@ -10421,9 +11218,7 @@
},
"node_modules/http-deceiver": {
"version": "1.2.7",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/http-errors": {
"version": "2.0.0",
@@ -10441,15 +11236,11 @@
},
"node_modules/http-parser-js": {
"version": "0.5.10",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/http-proxy": {
"version": "1.18.1",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
@@ -10462,8 +11253,6 @@
"node_modules/http-proxy-middleware": {
"version": "2.0.9",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@types/http-proxy": "^1.17.8",
"http-proxy": "^1.18.1",
@@ -10486,8 +11275,6 @@
"node_modules/http-proxy-middleware/node_modules/is-plain-obj": {
"version": "3.0.0",
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">=10"
},
@@ -10495,17 +11282,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/http2-wrapper": {
- "version": "1.0.3",
- "license": "MIT",
- "dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- },
- "engines": {
- "node": ">=10.19.0"
- }
- },
"node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -10513,6 +11289,15 @@
"node": ">=10.17.0"
}
},
+ "node_modules/hyperdyperid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
+ "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.18"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.4.24",
"license": "MIT",
@@ -10533,24 +11318,6 @@
"postcss": "^8.1.0"
}
},
- "node_modules/ieee754": {
- "version": "1.2.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
"node_modules/ignore": {
"version": "5.3.2",
"license": "MIT",
@@ -10564,19 +11331,16 @@
"integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
"license": "ISC"
},
- "node_modules/immer": {
- "version": "9.0.15",
+ "node_modules/image-size": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz",
+ "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==",
"license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
- "node_modules/immutable": {
- "version": "3.7.6",
- "license": "BSD-3-Clause",
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
"engines": {
- "node": ">=0.8.0"
+ "node": ">=16.x"
}
},
"node_modules/import-fresh": {
@@ -10600,14 +11364,13 @@
"node": ">=4"
}
},
- "node_modules/import-from": {
+ "node_modules/import-lazy": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
"license": "MIT",
"engines": {
- "node": ">=12.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8"
}
},
"node_modules/imurmurhash": {
@@ -10617,12 +11380,22 @@
"node": ">=0.8.19"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/infima": {
+ "version": "0.2.0-alpha.45",
+ "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz",
+ "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/inherits": {
@@ -10633,44 +11406,6 @@
"version": "1.3.8",
"license": "ISC"
},
- "node_modules/inline-style-parser": {
- "version": "0.1.1",
- "license": "MIT"
- },
- "node_modules/inquirer": {
- "version": "7.3.3",
- "license": "MIT",
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.19",
- "mute-stream": "0.0.8",
- "run-async": "^2.4.0",
- "rxjs": "^6.6.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/internal-slot": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "hasown": "^2.0.2",
- "side-channel": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/invariant": {
"version": "2.2.4",
"license": "MIT",
@@ -10685,73 +11420,34 @@
"node": ">= 0.10"
}
},
- "node_modules/is-absolute": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-absolute-url": {
- "version": "3.0.3",
+ "node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
"license": "MIT",
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/is-array-buffer": {
- "version": "3.0.5",
+ "node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-arrayish": {
"version": "0.2.1",
"license": "MIT"
},
- "node_modules/is-async-function": {
- "version": "2.1.1",
- "license": "MIT",
- "dependencies": {
- "async-function": "^1.0.0",
- "call-bound": "^1.0.3",
- "get-proto": "^1.0.1",
- "has-tostringtag": "^1.0.2",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "has-bigints": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/is-binary-path": {
"version": "2.1.0",
"license": "MIT",
@@ -10762,40 +11458,6 @@
"node": ">=8"
}
},
- "node_modules/is-boolean-object": {
- "version": "1.2.2",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-ci": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "ci-info": "^2.0.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
"node_modules/is-core-module": {
"version": "2.16.1",
"license": "MIT",
@@ -10809,33 +11471,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-data-view": {
- "version": "1.0.2",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.1.0",
+ "node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
"license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-docker": {
@@ -10851,40 +11494,20 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-finalizationregistry": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/is-generator-function": {
- "version": "1.1.0",
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
"license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "get-proto": "^1.0.0",
- "has-tostringtag": "^1.0.2",
- "safe-regex-test": "^1.1.0"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=0.10.0"
}
},
"node_modules/is-glob": {
@@ -10897,6 +11520,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-hexadecimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/is-inside-container": {
"version": "1.0.0",
"license": "MIT",
@@ -10926,52 +11559,44 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-invalid-path": {
- "version": "0.1.0",
+ "node_modules/is-installed-globally": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
"license": "MIT",
"dependencies": {
- "is-glob": "^2.0.0"
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-invalid-path/node_modules/is-extglob": {
- "version": "1.0.0",
+ "node_modules/is-network-error": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz",
+ "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==",
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-invalid-path/node_modules/is-glob": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^1.0.0"
+ "node": ">=16"
},
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-lower-case": {
- "version": "2.0.2",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-lower-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/is-map": {
- "version": "2.0.3",
+ "node_modules/is-npm": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.1.0.tgz",
+ "integrity": "sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==",
"license": "MIT",
"engines": {
- "node": ">= 0.4"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-number": {
@@ -10981,22 +11606,17 @@
"node": ">=0.12.0"
}
},
- "node_modules/is-number-object": {
- "version": "1.1.1",
+ "node_modules/is-obj": {
+ "version": "2.0.0",
"license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=8"
}
},
- "node_modules/is-obj": {
- "version": "2.0.0",
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"license": "MIT",
"engines": {
"node": ">=8"
@@ -11024,76 +11644,15 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-promise": {
- "version": "2.2.2",
- "license": "MIT"
- },
- "node_modules/is-regex": {
- "version": "1.2.1",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-relative": {
+ "node_modules/is-regexp": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
"license": "MIT",
- "dependencies": {
- "is-unc-path": "^1.0.0"
- },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/is-relative-url": {
- "version": "3.0.0",
- "license": "MIT",
- "dependencies": {
- "is-absolute-url": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-root": {
- "version": "2.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/is-set": {
- "version": "2.0.3",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/is-stream": {
"version": "2.0.1",
"license": "MIT",
@@ -11104,138 +11663,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-string": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "has-symbols": "^1.1.0",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.15",
- "license": "MIT",
- "dependencies": {
- "which-typed-array": "^1.1.16"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/is-typedarray": {
"version": "1.0.0",
"license": "MIT"
},
- "node_modules/is-unc-path": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "unc-path-regex": "^0.1.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-upper-case": {
- "version": "2.0.2",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/is-upper-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
"node_modules/is-url": {
"version": "1.2.4",
"license": "MIT"
},
- "node_modules/is-valid-domain": {
- "version": "0.1.6",
- "license": "MIT",
- "dependencies": {
- "punycode": "^2.1.1"
- }
- },
- "node_modules/is-valid-path": {
- "version": "0.1.1",
- "license": "MIT",
- "dependencies": {
- "is-invalid-path": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-weakmap": {
- "version": "2.0.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakset": {
- "version": "2.0.4",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-windows": {
- "version": "1.0.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-wsl": {
"version": "2.2.0",
"license": "MIT",
@@ -11246,17 +11681,13 @@
"node": ">=8"
}
},
- "node_modules/is64bit": {
- "version": "2.0.0",
+ "node_modules/is-yarn-global": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz",
+ "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==",
"license": "MIT",
- "dependencies": {
- "system-architecture": "^0.1.0"
- },
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=12"
}
},
"node_modules/isarray": {
@@ -11282,35 +11713,45 @@
"whatwg-fetch": "^3.4.1"
}
},
- "node_modules/iterator.prototype": {
- "version": "1.1.5",
+ "node_modules/jest-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"license": "MIT",
"dependencies": {
- "define-data-property": "^1.1.4",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.6",
- "get-proto": "^1.0.0",
- "has-symbols": "^1.1.0",
- "set-function-name": "^2.0.2"
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
},
"engines": {
- "node": ">= 0.4"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/javascript-stringify": {
- "version": "2.1.0",
- "license": "MIT"
- },
- "node_modules/jest-worker": {
- "version": "26.6.2",
+ "node_modules/jest-util/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=8"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "license": "MIT",
+ "bin": {
+ "jiti": "bin/jiti.js"
}
},
"node_modules/joi": {
@@ -11352,14 +11793,16 @@
"version": "3.0.1",
"license": "MIT"
},
- "node_modules/json-loader": {
- "version": "0.5.7",
- "license": "MIT"
- },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"license": "MIT"
},
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
"node_modules/json-schema-compare": {
"version": "0.2.2",
"license": "MIT",
@@ -11383,10 +11826,6 @@
"version": "0.4.1",
"license": "MIT"
},
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "license": "MIT"
- },
"node_modules/json5": {
"version": "2.2.3",
"license": "MIT",
@@ -11407,19 +11846,6 @@
"graceful-fs": "^4.1.6"
}
},
- "node_modules/jsx-ast-utils": {
- "version": "3.3.5",
- "license": "MIT",
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "object.assign": "^4.1.4",
- "object.values": "^1.1.6"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/keyv": {
"version": "4.5.4",
"license": "MIT",
@@ -11441,27 +11867,6 @@
"node": ">=6"
}
},
- "node_modules/klona": {
- "version": "2.0.5",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/language-subtag-registry": {
- "version": "0.3.23",
- "license": "CC0-1.0"
- },
- "node_modules/language-tags": {
- "version": "1.0.9",
- "license": "MIT",
- "dependencies": {
- "language-subtag-registry": "^0.3.20"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/latest-version": {
"version": "7.0.0",
"license": "MIT",
@@ -11478,62 +11883,24 @@
"node_modules/launch-editor": {
"version": "2.10.0",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"picocolors": "^1.0.0",
"shell-quote": "^1.8.1"
}
},
- "node_modules/levn": {
- "version": "0.4.1",
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.0.5",
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=6"
}
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
"license": "MIT"
},
- "node_modules/linkfs": {
- "version": "2.1.0"
- },
- "node_modules/lmdb": {
- "version": "2.5.3",
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "msgpackr": "^1.5.4",
- "node-addon-api": "^4.3.0",
- "node-gyp-build-optional-packages": "5.0.3",
- "ordered-binary": "^1.2.4",
- "weak-lru-cache": "^1.2.2"
- },
- "optionalDependencies": {
- "@lmdb/lmdb-darwin-arm64": "2.5.3",
- "@lmdb/lmdb-darwin-x64": "2.5.3",
- "@lmdb/lmdb-linux-arm": "2.5.3",
- "@lmdb/lmdb-linux-arm64": "2.5.3",
- "@lmdb/lmdb-linux-x64": "2.5.3",
- "@lmdb/lmdb-win32-x64": "2.5.3"
- }
- },
- "node_modules/lmdb/node_modules/node-addon-api": {
- "version": "4.3.0",
- "license": "MIT"
- },
"node_modules/loader-runner": {
"version": "4.3.0",
"license": "MIT",
@@ -11553,20 +11920,6 @@
"node": ">=8.9.0"
}
},
- "node_modules/locate-path": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lock": {
- "version": "1.1.0",
- "license": "MIT"
- },
"node_modules/lodash": {
"version": "4.17.21",
"license": "MIT"
@@ -11575,10 +11928,6 @@
"version": "4.3.0",
"license": "MIT"
},
- "node_modules/lodash.clonedeep": {
- "version": "4.5.0",
- "license": "MIT"
- },
"node_modules/lodash.debounce": {
"version": "4.0.8",
"license": "MIT"
@@ -11587,34 +11936,10 @@
"version": "4.1.0",
"license": "MIT"
},
- "node_modules/lodash.every": {
- "version": "4.6.0",
- "license": "MIT"
- },
- "node_modules/lodash.flattendeep": {
- "version": "4.4.0",
- "license": "MIT"
- },
- "node_modules/lodash.foreach": {
- "version": "4.5.0",
- "license": "MIT"
- },
- "node_modules/lodash.map": {
- "version": "4.6.0",
- "license": "MIT"
- },
- "node_modules/lodash.maxby": {
- "version": "4.6.0",
- "license": "MIT"
- },
"node_modules/lodash.memoize": {
"version": "4.1.2",
"license": "MIT"
},
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "license": "MIT"
- },
"node_modules/lodash.snakecase": {
"version": "4.1.1",
"license": "MIT"
@@ -11623,10 +11948,6 @@
"version": "4.5.1",
"license": "MIT"
},
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "license": "MIT"
- },
"node_modules/lodash.uniq": {
"version": "4.5.0",
"license": "MIT"
@@ -11658,70 +11979,22 @@
"tslib": "^2.0.3"
}
},
- "node_modules/lower-case-first": {
- "version": "2.0.2",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/lower-case-first/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
"node_modules/lower-case/node_modules/tslib": {
"version": "2.8.1",
"license": "0BSD"
},
- "node_modules/lowercase-keys": {
+ "node_modules/markdown-extensions": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz",
+ "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==",
"license": "MIT",
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/lru-cache": {
- "version": "4.0.0",
- "license": "ISC",
- "dependencies": {
- "pseudomap": "^1.0.1",
- "yallist": "^2.0.0"
- }
- },
- "node_modules/lru-queue": {
- "version": "0.1.0",
- "license": "MIT",
- "dependencies": {
- "es5-ext": "~0.10.2"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
+ "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/map-cache": {
- "version": "0.2.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/markdown-table": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
@@ -11732,6 +12005,18 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/marked": {
+ "version": "16.4.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz",
+ "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==",
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 20"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"license": "MIT",
@@ -11739,6 +12024,27 @@
"node": ">= 0.4"
}
},
+ "node_modules/mdast-util-directive": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz",
+ "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-find-and-replace": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
@@ -11791,6 +12097,36 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-frontmatter": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz",
+ "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "escape-string-regexp": "^5.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "micromark-extension-frontmatter": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/mdast-util-gfm": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
@@ -11892,6 +12228,83 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-mdx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
+ "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
+ "license": "MIT",
+ "dependencies": {
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-expression": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.1.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdxjs-esm": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-phrasing": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
@@ -11906,6 +12319,27 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-to-hast": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
+ "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "trim-lines": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-to-markdown": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
@@ -11940,43 +12374,11 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/mdn-data": {
- "version": "2.0.14",
- "license": "CC0-1.0"
- },
- "node_modules/meant": {
- "version": "1.0.3",
- "license": "MIT"
- },
"node_modules/media-typer": {
"version": "0.3.0",
"license": "MIT",
"engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memfs": {
- "version": "3.4.6",
- "license": "Unlicense",
- "dependencies": {
- "fs-monkey": "^1.0.3"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/memoizee": {
- "version": "0.4.15",
- "license": "ISC",
- "dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.53",
- "es6-weak-map": "^2.0.3",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.2.2",
- "lru-queue": "^0.1.0",
- "next-tick": "^1.1.0",
- "timers-ext": "^0.1.7"
+ "node": ">= 0.6"
}
},
"node_modules/merge-descriptors": {
@@ -12073,6 +12475,41 @@
"micromark-util-types": "^2.0.0"
}
},
+ "node_modules/micromark-extension-directive": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz",
+ "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==",
+ "license": "MIT",
+ "dependencies": {
+ "devlop": "^1.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-factory-whitespace": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "parse-entities": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-frontmatter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz",
+ "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==",
+ "license": "MIT",
+ "dependencies": {
+ "fault": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/micromark-extension-gfm": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
@@ -12194,6 +12631,120 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/micromark-extension-mdx-expression": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz",
+ "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-factory-mdx-expression": "^2.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-events-to-acorn": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-extension-mdx-jsx": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz",
+ "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "micromark-factory-mdx-expression": "^2.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-events-to-acorn": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdx-md": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz",
+ "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdxjs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz",
+ "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.0.0",
+ "acorn-jsx": "^5.0.0",
+ "micromark-extension-mdx-expression": "^3.0.0",
+ "micromark-extension-mdx-jsx": "^3.0.0",
+ "micromark-extension-mdx-md": "^2.0.0",
+ "micromark-extension-mdxjs-esm": "^3.0.0",
+ "micromark-util-combine-extensions": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdxjs-esm": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz",
+ "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-core-commonmark": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-events-to-acorn": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unist-util-position-from-estree": "^2.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdxjs/node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/micromark-factory-destination": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
@@ -12237,6 +12788,33 @@
"micromark-util-types": "^2.0.0"
}
},
+ "node_modules/micromark-factory-mdx-expression": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz",
+ "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-factory-space": "^2.0.0",
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-events-to-acorn": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unist-util-position-from-estree": "^2.0.0",
+ "vfile-message": "^4.0.0"
+ }
+ },
"node_modules/micromark-factory-space": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
@@ -12438,6 +13016,31 @@
],
"license": "MIT"
},
+ "node_modules/micromark-util-events-to-acorn": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz",
+ "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "@types/unist": "^3.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-visit": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "vfile-message": "^4.0.0"
+ }
+ },
"node_modules/micromark-util-html-tag-name": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
@@ -12604,16 +13207,6 @@
"node": ">=8.6"
}
},
- "node_modules/mime": {
- "version": "3.0.0",
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/mime-db": {
"version": "1.52.0",
"license": "MIT",
@@ -12638,166 +13231,40 @@
"node": ">=6"
}
},
- "node_modules/mimic-response": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mini-css-extract-plugin": {
- "version": "1.6.2",
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0",
- "webpack-sources": "^1.1.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.4.0 || ^5.0.0"
- }
- },
- "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/minimalistic-assert": {
"version": "1.0.1",
- "license": "ISC",
- "optional": true,
- "peer": true
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.6",
- "license": "MIT"
- },
- "node_modules/mitt": {
- "version": "1.2.0",
- "license": "MIT"
- },
- "node_modules/mkdirp": {
- "version": "0.5.6",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "license": "MIT"
- },
- "node_modules/moment": {
- "version": "2.30.1",
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "license": "MIT"
- },
- "node_modules/msgpackr": {
- "version": "1.11.4",
- "license": "MIT",
- "optionalDependencies": {
- "msgpackr-extract": "^3.0.2"
- }
- },
- "node_modules/msgpackr-extract": {
- "version": "3.0.3",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "node-gyp-build-optional-packages": "5.2.2"
- },
- "bin": {
- "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
- },
- "optionalDependencies": {
- "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
- "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
- }
- },
- "node_modules/msgpackr-extract/node_modules/detect-libc": {
- "version": "2.0.4",
- "license": "Apache-2.0",
- "optional": true,
- "engines": {
- "node": ">=8"
- }
+ "license": "ISC"
},
- "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
- "version": "5.2.2",
- "license": "MIT",
- "optional": true,
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "license": "ISC",
"dependencies": {
- "detect-libc": "^2.0.1"
+ "brace-expansion": "^1.1.7"
},
- "bin": {
- "node-gyp-build-optional-packages": "bin.js",
- "node-gyp-build-optional-packages-optional": "optional.js",
- "node-gyp-build-optional-packages-test": "build-test.js"
+ "engines": {
+ "node": "*"
}
},
- "node_modules/multer": {
- "version": "1.4.5-lts.2",
+ "node_modules/minimist": {
+ "version": "1.2.6",
+ "license": "MIT"
+ },
+ "node_modules/mrmime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
+ "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
"license": "MIT",
- "dependencies": {
- "append-field": "^1.0.0",
- "busboy": "^1.0.0",
- "concat-stream": "^1.5.2",
- "mkdirp": "^0.5.4",
- "object-assign": "^4.1.1",
- "type-is": "^1.6.4",
- "xtend": "^4.0.0"
- },
"engines": {
- "node": ">= 6.0.0"
+ "node": ">=10"
}
},
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "license": "MIT"
+ },
"node_modules/multicast-dns": {
"version": "7.2.5",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"dns-packet": "^5.2.2",
"thunky": "^1.0.2"
@@ -12806,10 +13273,6 @@
"multicast-dns": "cli.js"
}
},
- "node_modules/mute-stream": {
- "version": "0.0.8",
- "license": "ISC"
- },
"node_modules/nanoid": {
"version": "3.3.11",
"funding": [
@@ -12826,18 +13289,6 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/napi-build-utils": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "license": "MIT"
- },
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "license": "MIT"
- },
"node_modules/negotiator": {
"version": "0.6.4",
"license": "MIT",
@@ -12849,14 +13300,6 @@
"version": "2.6.2",
"license": "MIT"
},
- "node_modules/next-tick": {
- "version": "1.1.0",
- "license": "ISC"
- },
- "node_modules/nice-try": {
- "version": "1.0.5",
- "license": "MIT"
- },
"node_modules/no-case": {
"version": "3.0.4",
"license": "MIT",
@@ -12869,20 +13312,21 @@
"version": "2.8.1",
"license": "0BSD"
},
- "node_modules/node-abi": {
- "version": "3.75.0",
+ "node_modules/node-emoji": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz",
+ "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==",
"license": "MIT",
"dependencies": {
- "semver": "^7.3.5"
+ "@sindresorhus/is": "^4.6.0",
+ "char-regex": "^1.0.2",
+ "emojilib": "^2.4.0",
+ "skin-tone": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
- "node_modules/node-addon-api": {
- "version": "7.1.1",
- "license": "MIT"
- },
"node_modules/node-fetch": {
"version": "2.6.7",
"license": "MIT",
@@ -12904,42 +13348,14 @@
"node_modules/node-forge": {
"version": "1.3.1",
"license": "(BSD-3-Clause OR GPL-2.0)",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 6.13.0"
}
},
- "node_modules/node-gyp-build-optional-packages": {
- "version": "5.0.3",
- "license": "MIT",
- "bin": {
- "node-gyp-build-optional-packages": "bin.js",
- "node-gyp-build-optional-packages-optional": "optional.js",
- "node-gyp-build-optional-packages-test": "build-test.js"
- }
- },
- "node_modules/node-html-parser": {
- "version": "5.4.2",
- "license": "MIT",
- "dependencies": {
- "css-select": "^4.2.1",
- "he": "1.2.0"
- }
- },
- "node_modules/node-int64": {
- "version": "0.4.0",
- "license": "MIT"
- },
- "node_modules/node-object-hash": {
- "version": "2.3.10",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/node-releases": {
- "version": "2.0.19",
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
"license": "MIT"
},
"node_modules/nodemon": {
@@ -13022,16 +13438,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/normalize-url": {
- "version": "6.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/npm-run-path": {
"version": "4.0.1",
"license": "MIT",
@@ -13049,6 +13455,12 @@
"node": ">=8"
}
},
+ "node_modules/nprogress": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
+ "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==",
+ "license": "MIT"
+ },
"node_modules/nth-check": {
"version": "2.1.1",
"license": "BSD-2-Clause",
@@ -13093,10 +13505,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/nullthrows": {
- "version": "1.1.1",
- "license": "MIT"
- },
"node_modules/object-assign": {
"version": "4.1.1",
"license": "MIT",
@@ -13139,68 +13547,9 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object.entries": {
- "version": "1.1.9",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.8",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.groupby": {
- "version": "1.0.3",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.values": {
- "version": "1.2.1",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/obuf": {
"version": "1.1.2",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/on-finished": {
"version": "2.4.1",
@@ -13219,13 +13568,6 @@
"node": ">= 0.8"
}
},
- "node_modules/once": {
- "version": "1.4.0",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
"node_modules/onetime": {
"version": "5.1.2",
"license": "MIT",
@@ -13239,46 +13581,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/open": {
- "version": "7.4.2",
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/opentracing": {
- "version": "0.14.7",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.1",
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
+ "node_modules/opener": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
+ "license": "(WTFPL OR MIT)",
+ "bin": {
+ "opener": "bin/opener-bin.js"
}
},
- "node_modules/ordered-binary": {
- "version": "1.5.3",
- "license": "MIT"
- },
"node_modules/os-tmpdir": {
"version": "1.0.2",
"license": "MIT",
@@ -13286,40 +13597,22 @@
"node": ">=0.10.0"
}
},
- "node_modules/own-keys": {
- "version": "1.0.1",
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.6",
- "object-keys": "^1.1.1",
- "safe-push-apply": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/p-cancelable": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-defer": {
- "version": "3.0.0",
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
- "node_modules/p-limit": {
- "version": "3.1.0",
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"license": "MIT",
"dependencies": {
- "yocto-queue": "^0.1.0"
+ "aggregate-error": "^3.0.0"
},
"engines": {
"node": ">=10"
@@ -13328,56 +13621,58 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-locate": {
- "version": "4.1.0",
+ "node_modules/p-queue": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
+ "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
"license": "MIT",
"dependencies": {
- "p-limit": "^2.2.0"
+ "eventemitter3": "^4.0.4",
+ "p-timeout": "^3.2.0"
},
"engines": {
"node": ">=8"
- }
- },
- "node_modules/p-locate/node_modules/p-limit": {
- "version": "2.3.0",
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-retry": {
- "version": "4.6.2",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
+ "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "@types/retry": "0.12.0",
+ "@types/retry": "0.12.2",
+ "is-network-error": "^1.0.0",
"retry": "^0.13.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-retry/node_modules/retry": {
"version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 4"
}
},
- "node_modules/p-try": {
- "version": "2.2.0",
+ "node_modules/p-timeout": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
"license": "MIT",
+ "dependencies": {
+ "p-finally": "^1.0.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
"node_modules/package-json": {
@@ -13545,32 +13840,103 @@
"node": ">=6"
}
},
- "node_modules/parse-filepath": {
- "version": "1.0.2",
- "license": "MIT",
+ "node_modules/parse-entities": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "character-entities-legacy": "^3.0.0",
+ "character-reference-invalid": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0",
+ "is-hexadecimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/parse-entities/node_modules/@types/unist": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+ "license": "MIT"
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-numeric-range": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz",
+ "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==",
+ "license": "ISC"
+ },
+ "node_modules/parse5": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
+ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
+ "license": "MIT",
+ "dependencies": {
+ "entities": "^6.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz",
+ "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
+ "license": "MIT",
+ "dependencies": {
+ "domhandler": "^5.0.3",
+ "parse5": "^7.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "is-absolute": "^1.0.0",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.1"
+ "domelementtype": "^2.3.0"
},
"engines": {
- "node": ">=0.8"
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
- "node_modules/parse-json": {
- "version": "5.2.0",
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
+ "node_modules/parse5/node_modules/entities": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=8"
+ "node": ">=0.12"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/parseurl": {
@@ -13592,79 +13958,16 @@
"version": "2.8.1",
"license": "0BSD"
},
- "node_modules/password-prompt": {
- "version": "1.1.2",
- "license": "WTFPL",
- "dependencies": {
- "ansi-escapes": "^3.1.0",
- "cross-spawn": "^6.0.5"
- }
- },
- "node_modules/password-prompt/node_modules/ansi-escapes": {
- "version": "3.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-case": {
- "version": "3.0.4",
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/path-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/path-exists": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
+ "license": "(WTFPL OR MIT)"
},
"node_modules/path-parse": {
"version": "1.0.7",
"license": "MIT"
},
- "node_modules/path-root": {
- "version": "0.1.1",
- "license": "MIT",
- "dependencies": {
- "path-root-regex": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-root-regex": {
- "version": "0.1.2",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.10",
- "license": "MIT"
- },
"node_modules/path-type": {
"version": "4.0.0",
"license": "MIT",
@@ -13672,21 +13975,6 @@
"node": ">=8"
}
},
- "node_modules/peek-readable": {
- "version": "4.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/physical-cpu-count": {
- "version": "2.0.0",
- "license": "ISC"
- },
"node_modules/picocolors": {
"version": "1.1.1",
"license": "ISC"
@@ -13701,299 +13989,558 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/pkg-dir": {
- "version": "4.2.0",
+ "node_modules/postcss": {
+ "version": "8.5.5",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"license": "MIT",
+ "peer": true,
"dependencies": {
- "find-up": "^4.0.0"
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
},
"engines": {
- "node": ">=8"
+ "node": "^10 || ^12 || >=14"
}
},
- "node_modules/pkg-up": {
- "version": "3.1.0",
+ "node_modules/postcss-attribute-case-insensitive": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz",
+ "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "find-up": "^3.0.0"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/pkg-up/node_modules/find-up": {
- "version": "3.0.0",
+ "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "locate-path": "^3.0.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
- "node_modules/pkg-up/node_modules/locate-path": {
- "version": "3.0.0",
+ "node_modules/postcss-clamp": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
+ "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
"license": "MIT",
"dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=7.6.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.6"
}
},
- "node_modules/pkg-up/node_modules/p-limit": {
- "version": "2.3.0",
- "license": "MIT",
+ "node_modules/postcss-color-functional-notation": {
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz",
+ "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "p-try": "^2.0.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=18"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/pkg-up/node_modules/p-locate": {
- "version": "3.0.0",
+ "node_modules/postcss-color-hex-alpha": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz",
+ "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "p-limit": "^2.0.0"
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/platform": {
- "version": "1.3.6",
- "license": "MIT"
+ "node_modules/postcss-color-rebeccapurple": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz",
+ "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
},
- "node_modules/possible-typed-array-names": {
- "version": "1.1.0",
+ "node_modules/postcss-custom-media": {
+ "version": "11.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz",
+ "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
+ "dependencies": {
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
+ },
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/postcss": {
- "version": "8.5.5",
+ "node_modules/postcss-custom-properties": {
+ "version": "14.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz",
+ "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==",
"funding": [
{
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
},
{
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-custom-selectors": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz",
+ "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==",
+ "funding": [
{
"type": "github",
- "url": "https://github.com/sponsors/ai"
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "^10 || ^12 || >=14"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-calc": {
- "version": "8.2.4",
+ "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz",
+ "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.2"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-colormin": {
- "version": "5.3.0",
+ "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": ">=4"
}
},
- "node_modules/postcss-convert-values": {
- "version": "5.1.2",
+ "node_modules/postcss-discard-unused": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz",
+ "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.20.3",
- "postcss-value-parser": "^4.2.0"
+ "postcss-selector-parser": "^6.0.16"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4.31"
}
},
- "node_modules/postcss-discard-comments": {
- "version": "5.1.2",
- "license": "MIT",
+ "node_modules/postcss-double-position-gradients": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz",
+ "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-discard-duplicates": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-focus-visible": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz",
+ "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-discard-empty": {
- "version": "5.1.1",
+ "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/postcss-discard-overridden": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-focus-within": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz",
+ "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-flexbugs-fixes": {
- "version": "5.0.2",
- "license": "MIT",
- "peerDependencies": {
- "postcss": "^8.1.4"
- }
- },
- "node_modules/postcss-loader": {
- "version": "5.3.0",
+ "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "cosmiconfig": "^7.0.0",
- "klona": "^2.0.4",
- "semver": "^7.3.4"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "postcss": "^7.0.0 || ^8.0.1",
- "webpack": "^5.0.0"
+ "node": ">=4"
}
},
- "node_modules/postcss-merge-longhand": {
- "version": "5.1.6",
+ "node_modules/postcss-font-variant": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
+ "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
"license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.0"
- },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-gap-properties": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz",
+ "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-merge-rules": {
- "version": "5.1.2",
- "license": "MIT",
+ "node_modules/postcss-image-set-function": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz",
+ "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-minify-font-values": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-lab-function": {
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz",
+ "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-minify-gradients": {
- "version": "5.1.1",
- "license": "MIT",
+ "node_modules/postcss-logical": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz",
+ "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-minify-params": {
- "version": "5.1.3",
+ "node_modules/postcss-merge-idents": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz",
+ "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.1.0",
+ "cssnano-utils": "^4.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4.31"
}
},
- "node_modules/postcss-minify-selectors": {
- "version": "5.2.1",
+ "node_modules/postcss-merge-idents/node_modules/cssnano-utils": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz",
+ "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==",
"license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.0.5"
- },
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4.31"
}
},
"node_modules/postcss-modules-extract-imports": {
@@ -14069,165 +14616,356 @@
"postcss": "^8.1.0"
}
},
- "node_modules/postcss-normalize-charset": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-nesting": {
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz",
+ "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/selector-resolve-nested": "^3.1.0",
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
+ },
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-display-values": {
- "version": "5.1.0",
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
+ "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz",
+ "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss-selector-parser": "^7.0.0"
}
},
- "node_modules/postcss-normalize-positions": {
- "version": "5.1.1",
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
+ "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss-selector-parser": "^7.0.0"
}
},
- "node_modules/postcss-normalize-repeat-style": {
- "version": "5.1.1",
+ "node_modules/postcss-nesting/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-opacity-percentage": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz",
+ "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==",
+ "funding": [
+ {
+ "type": "kofi",
+ "url": "https://ko-fi.com/mrcgrtz"
+ },
+ {
+ "type": "liberapay",
+ "url": "https://liberapay.com/mrcgrtz"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-string": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-overflow-shorthand": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz",
+ "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-timing-functions": {
- "version": "5.1.0",
+ "node_modules/postcss-page-break": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
+ "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
"license": "MIT",
+ "peerDependencies": {
+ "postcss": "^8"
+ }
+ },
+ "node_modules/postcss-place": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz",
+ "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-unicode": {
- "version": "5.1.0",
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
+ "node_modules/postcss-preset-env": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.5.0.tgz",
+ "integrity": "sha512-xgxFQPAPxeWmsgy8cR7GM1PGAL/smA5E9qU7K//D4vucS01es3M0fDujhDJn3kY8Ip7/vVYcecbe1yY+vBo3qQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/postcss-alpha-function": "^1.0.1",
+ "@csstools/postcss-cascade-layers": "^5.0.2",
+ "@csstools/postcss-color-function": "^4.0.12",
+ "@csstools/postcss-color-function-display-p3-linear": "^1.0.1",
+ "@csstools/postcss-color-mix-function": "^3.0.12",
+ "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2",
+ "@csstools/postcss-content-alt-text": "^2.0.8",
+ "@csstools/postcss-contrast-color-function": "^2.0.12",
+ "@csstools/postcss-exponential-functions": "^2.0.9",
+ "@csstools/postcss-font-format-keywords": "^4.0.0",
+ "@csstools/postcss-gamut-mapping": "^2.0.11",
+ "@csstools/postcss-gradients-interpolation-method": "^5.0.12",
+ "@csstools/postcss-hwb-function": "^4.0.12",
+ "@csstools/postcss-ic-unit": "^4.0.4",
+ "@csstools/postcss-initial": "^2.0.1",
+ "@csstools/postcss-is-pseudo-class": "^5.0.3",
+ "@csstools/postcss-light-dark-function": "^2.0.11",
+ "@csstools/postcss-logical-float-and-clear": "^3.0.0",
+ "@csstools/postcss-logical-overflow": "^2.0.0",
+ "@csstools/postcss-logical-overscroll-behavior": "^2.0.0",
+ "@csstools/postcss-logical-resize": "^3.0.0",
+ "@csstools/postcss-logical-viewport-units": "^3.0.4",
+ "@csstools/postcss-media-minmax": "^2.0.9",
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5",
+ "@csstools/postcss-nested-calc": "^4.0.0",
+ "@csstools/postcss-normalize-display-values": "^4.0.0",
+ "@csstools/postcss-oklab-function": "^4.0.12",
+ "@csstools/postcss-position-area-property": "^1.0.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/postcss-random-function": "^2.0.1",
+ "@csstools/postcss-relative-color-syntax": "^3.0.12",
+ "@csstools/postcss-scope-pseudo-class": "^4.0.1",
+ "@csstools/postcss-sign-functions": "^1.1.4",
+ "@csstools/postcss-stepped-value-functions": "^4.0.9",
+ "@csstools/postcss-system-ui-font-family": "^1.0.0",
+ "@csstools/postcss-text-decoration-shorthand": "^4.0.3",
+ "@csstools/postcss-trigonometric-functions": "^4.0.9",
+ "@csstools/postcss-unset-value": "^4.0.0",
+ "autoprefixer": "^10.4.22",
+ "browserslist": "^4.28.0",
+ "css-blank-pseudo": "^7.0.1",
+ "css-has-pseudo": "^7.0.3",
+ "css-prefers-color-scheme": "^10.0.0",
+ "cssdb": "^8.5.2",
+ "postcss-attribute-case-insensitive": "^7.0.1",
+ "postcss-clamp": "^4.1.0",
+ "postcss-color-functional-notation": "^7.0.12",
+ "postcss-color-hex-alpha": "^10.0.0",
+ "postcss-color-rebeccapurple": "^10.0.0",
+ "postcss-custom-media": "^11.0.6",
+ "postcss-custom-properties": "^14.0.6",
+ "postcss-custom-selectors": "^8.0.5",
+ "postcss-dir-pseudo-class": "^9.0.1",
+ "postcss-double-position-gradients": "^6.0.4",
+ "postcss-focus-visible": "^10.0.1",
+ "postcss-focus-within": "^9.0.1",
+ "postcss-font-variant": "^5.0.0",
+ "postcss-gap-properties": "^6.0.0",
+ "postcss-image-set-function": "^7.0.0",
+ "postcss-lab-function": "^7.0.12",
+ "postcss-logical": "^8.1.0",
+ "postcss-nesting": "^13.0.2",
+ "postcss-opacity-percentage": "^3.0.0",
+ "postcss-overflow-shorthand": "^6.0.0",
+ "postcss-page-break": "^3.0.4",
+ "postcss-place": "^10.0.0",
+ "postcss-pseudo-class-any-link": "^10.0.1",
+ "postcss-replace-overflow-wrap": "^4.0.0",
+ "postcss-selector-not": "^8.0.1"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-url": {
- "version": "5.1.0",
- "license": "MIT",
+ "node_modules/postcss-pseudo-class-any-link": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz",
+ "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-normalize-whitespace": {
- "version": "5.1.1",
+ "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": ">=4"
}
},
- "node_modules/postcss-ordered-values": {
- "version": "5.1.3",
+ "node_modules/postcss-reduce-idents": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz",
+ "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==",
"license": "MIT",
"dependencies": {
- "cssnano-utils": "^3.1.0",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": "^14 || ^16 || >=18.0"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4.31"
}
},
- "node_modules/postcss-reduce-initial": {
- "version": "5.1.0",
+ "node_modules/postcss-replace-overflow-wrap": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
+ "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
"license": "MIT",
- "dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.0.3"
}
},
- "node_modules/postcss-reduce-transforms": {
- "version": "5.1.0",
+ "node_modules/postcss-selector-not": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz",
+ "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "postcss-value-parser": "^4.2.0"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-selector-parser": {
- "version": "6.1.2",
+ "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@@ -14237,144 +14975,83 @@
"node": ">=4"
}
},
- "node_modules/postcss-svgo": {
- "version": "5.1.0",
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
"license": "MIT",
"dependencies": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": ">=4"
}
},
- "node_modules/postcss-unique-selectors": {
- "version": "5.1.1",
+ "node_modules/postcss-sort-media-queries": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz",
+ "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==",
"license": "MIT",
"dependencies": {
- "postcss-selector-parser": "^6.0.5"
+ "sort-css-media-queries": "2.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14.0"
+ "node": ">=14.0.0"
},
"peerDependencies": {
- "postcss": "^8.2.15"
+ "postcss": "^8.4.23"
}
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"license": "MIT"
},
- "node_modules/prebuild-install": {
- "version": "7.1.3",
- "license": "MIT",
- "dependencies": {
- "detect-libc": "^2.0.0",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^2.0.0",
- "node-abi": "^3.3.0",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^4.0.0",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/prebuild-install/node_modules/detect-libc": {
- "version": "2.0.4",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/prebuild-install/node_modules/readable-stream": {
- "version": "3.6.2",
+ "node_modules/postcss-zindex": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz",
+ "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==",
"license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/prebuild-install/node_modules/tar-fs": {
- "version": "2.1.2",
- "license": "MIT",
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/prebuild-install/node_modules/tar-stream": {
- "version": "2.2.0",
- "license": "MIT",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
+ "node": "^14 || ^16 || >=18.0"
},
- "engines": {
- "node": ">=6"
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
- "node_modules/prelude-ls": {
- "version": "1.2.1",
+ "node_modules/pretty-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz",
+ "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==",
"license": "MIT",
"engines": {
- "node": ">= 0.8.0"
+ "node": ">=4"
}
},
- "node_modules/pretty-error": {
- "version": "2.1.2",
+ "node_modules/prism-react-renderer": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz",
+ "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==",
"license": "MIT",
"dependencies": {
- "lodash": "^4.17.20",
- "renderkid": "^2.0.4"
+ "@types/prismjs": "^1.26.0",
+ "clsx": "^2.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.0.0"
}
},
- "node_modules/process": {
- "version": "0.11.10",
+ "node_modules/prismjs": {
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
+ "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"license": "MIT",
"engines": {
- "node": ">= 0.6.0"
+ "node": ">=6"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"license": "MIT"
},
- "node_modules/progress": {
- "version": "2.0.3",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/promise": {
- "version": "7.3.1",
- "license": "MIT",
- "dependencies": {
- "asap": "~2.0.3"
- }
- },
"node_modules/prompts": {
"version": "2.4.2",
"license": "MIT",
@@ -14395,13 +15072,14 @@
"react-is": "^16.13.1"
}
},
- "node_modules/proper-lockfile": {
- "version": "4.1.2",
+ "node_modules/property-information": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
"license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "retry": "^0.12.0",
- "signal-exit": "^3.0.2"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/proto-list": {
@@ -14419,28 +15097,12 @@
"node": ">= 0.10"
}
},
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "license": "MIT"
- },
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "license": "ISC"
- },
"node_modules/pstree.remy": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
"integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
"license": "MIT"
},
- "node_modules/pump": {
- "version": "3.0.2",
- "license": "MIT",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"node_modules/punycode": {
"version": "2.1.1",
"license": "MIT",
@@ -14448,33 +15110,32 @@
"node": ">=6"
}
},
- "node_modules/qs": {
- "version": "6.13.0",
- "license": "BSD-3-Clause",
+ "node_modules/pupa": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.3.0.tgz",
+ "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==",
+ "license": "MIT",
"dependencies": {
- "side-channel": "^1.0.6"
+ "escape-goat": "^4.0.0"
},
"engines": {
- "node": ">=0.6"
+ "node": ">=12.20"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/query-string": {
- "version": "6.14.1",
- "license": "MIT",
+ "node_modules/qs": {
+ "version": "6.13.0",
+ "license": "BSD-3-Clause",
"dependencies": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
+ "side-channel": "^1.0.6"
},
"engines": {
- "node": ">=6"
+ "node": ">=0.6"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/queue-microtask": {
@@ -14532,40 +15193,6 @@
"node": ">= 0.8"
}
},
- "node_modules/raw-loader": {
- "version": "4.0.2",
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/raw-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/rc": {
"version": "1.2.8",
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
@@ -14573,242 +15200,177 @@
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/rc/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react": {
- "version": "18.3.1",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-dev-utils": {
- "version": "12.0.1",
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "address": "^1.1.2",
- "browserslist": "^4.18.1",
- "chalk": "^4.1.2",
- "cross-spawn": "^7.0.3",
- "detect-port-alt": "^1.1.6",
- "escape-string-regexp": "^4.0.0",
- "filesize": "^8.0.6",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^6.5.0",
- "global-modules": "^2.0.0",
- "globby": "^11.0.4",
- "gzip-size": "^6.0.0",
- "immer": "^9.0.7",
- "is-root": "^2.1.0",
- "loader-utils": "^3.2.0",
- "open": "^8.4.0",
- "pkg-up": "^3.1.0",
- "prompts": "^2.4.2",
- "react-error-overlay": "^6.0.11",
- "recursive-readdir": "^2.2.2",
- "shell-quote": "^1.7.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/react-dev-utils/node_modules/cross-spawn": {
- "version": "7.0.3",
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/react-dev-utils/node_modules/find-up": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/react-dev-utils/node_modules/loader-utils": {
- "version": "3.2.0",
- "license": "MIT",
- "engines": {
- "node": ">= 12.13.0"
- }
- },
- "node_modules/react-dev-utils/node_modules/locate-path": {
- "version": "6.0.0",
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/react-dev-utils/node_modules/open": {
- "version": "8.4.0",
- "license": "MIT",
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=12"
+ "strip-json-comments": "~2.0.1"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "bin": {
+ "rc": "cli.js"
}
},
- "node_modules/react-dev-utils/node_modules/p-locate": {
- "version": "5.0.0",
+ "node_modules/rc/node_modules/strip-json-comments": {
+ "version": "2.0.1",
"license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.10.0"
}
},
- "node_modules/react-dev-utils/node_modules/path-exists": {
- "version": "4.0.0",
+ "node_modules/react": {
+ "version": "19.2.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz",
+ "integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==",
"license": "MIT",
+ "peer": true,
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/react-dev-utils/node_modules/path-key": {
- "version": "3.1.1",
+ "node_modules/react-dom": {
+ "version": "19.2.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.1.tgz",
+ "integrity": "sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==",
"license": "MIT",
- "engines": {
- "node": ">=8"
+ "peer": true,
+ "dependencies": {
+ "scheduler": "^0.27.0"
+ },
+ "peerDependencies": {
+ "react": "^19.2.1"
}
},
- "node_modules/react-dev-utils/node_modules/react-error-overlay": {
- "version": "6.0.11",
+ "node_modules/react-fast-compare": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
+ "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
"license": "MIT"
},
- "node_modules/react-dev-utils/node_modules/shebang-command": {
- "version": "2.0.0",
- "license": "MIT",
+ "node_modules/react-helmet-async": {
+ "name": "@slorber/react-helmet-async",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
+ "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==",
+ "license": "Apache-2.0",
"dependencies": {
- "shebang-regex": "^3.0.0"
+ "@babel/runtime": "^7.12.5",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.7.2",
+ "react-fast-compare": "^3.2.0",
+ "shallowequal": "^1.1.0"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "node_modules/react-dev-utils/node_modules/shebang-regex": {
- "version": "3.0.0",
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "license": "MIT"
+ },
+ "node_modules/react-json-view-lite": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz",
+ "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==",
"license": "MIT",
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/which": {
- "version": "2.0.2",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
+ "node": ">=18"
},
- "engines": {
- "node": ">= 8"
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0"
}
},
- "node_modules/react-dom": {
- "version": "18.3.1",
+ "node_modules/react-loadable": {
+ "name": "@docusaurus/react-loadable",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz",
+ "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==",
"license": "MIT",
"peer": true,
"dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
+ "@types/react": "*"
},
"peerDependencies": {
- "react": "^18.3.1"
+ "react": "*"
}
},
- "node_modules/react-is": {
- "version": "16.13.1",
- "license": "MIT"
- },
- "node_modules/react-refresh": {
- "version": "0.14.2",
+ "node_modules/react-loadable-ssr-addon-v5-slorber": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz",
+ "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==",
"license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.10.3"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.13.0"
+ },
+ "peerDependencies": {
+ "react-loadable": "*",
+ "webpack": ">=4.41.1 || 5.x"
}
},
- "node_modules/react-server-dom-webpack": {
- "version": "0.0.0-experimental-c8b778b7f-20220825",
+ "node_modules/react-router": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz",
+ "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "acorn": "^6.2.1",
- "loose-envify": "^1.1.0",
- "neo-async": "^2.6.1"
- },
- "engines": {
- "node": ">=0.10.0"
+ "@babel/runtime": "^7.12.13",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
},
"peerDependencies": {
- "react": "0.0.0-experimental-c8b778b7f-20220825",
- "webpack": "^5.59.0"
+ "react": ">=15"
}
},
- "node_modules/react-server-dom-webpack/node_modules/acorn": {
- "version": "6.4.2",
+ "node_modules/react-router-config": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz",
+ "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==",
"license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "dependencies": {
+ "@babel/runtime": "^7.1.2"
},
- "engines": {
- "node": ">=0.4.0"
+ "peerDependencies": {
+ "react": ">=15",
+ "react-router": ">=5"
}
},
- "node_modules/read": {
- "version": "1.0.7",
- "license": "ISC",
+ "node_modules/react-router-dom": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz",
+ "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==",
+ "license": "MIT",
"dependencies": {
- "mute-stream": "~0.0.4"
+ "@babel/runtime": "^7.12.13",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.3.4",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
},
- "engines": {
- "node": ">=0.8"
+ "peerDependencies": {
+ "react": ">=15"
+ }
+ },
+ "node_modules/react-router/node_modules/isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
+ "license": "MIT"
+ },
+ "node_modules/react-router/node_modules/path-to-regexp": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
+ "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "0.0.1"
}
},
"node_modules/readable-stream": {
@@ -14828,63 +15390,6 @@
"version": "5.1.2",
"license": "MIT"
},
- "node_modules/readable-web-to-node-stream": {
- "version": "3.0.4",
- "license": "MIT",
- "dependencies": {
- "readable-stream": "^4.7.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/readable-web-to-node-stream/node_modules/buffer": {
- "version": "6.0.3",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/readable-web-to-node-stream/node_modules/readable-stream": {
- "version": "4.7.0",
- "license": "MIT",
- "dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10",
- "string_decoder": "^1.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/readable-web-to-node-stream/node_modules/string_decoder": {
- "version": "1.3.0",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/readdirp": {
"version": "3.6.0",
"license": "MIT",
@@ -14895,58 +15400,71 @@
"node": ">=8.10.0"
}
},
- "node_modules/recursive-readdir": {
- "version": "2.2.2",
+ "node_modules/recma-build-jsx": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz",
+ "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==",
"license": "MIT",
"dependencies": {
- "minimatch": "3.0.4"
+ "@types/estree": "^1.0.0",
+ "estree-util-build-jsx": "^3.0.0",
+ "vfile": "^6.0.0"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/recursive-readdir/node_modules/minimatch": {
- "version": "3.0.4",
- "license": "ISC",
+ "node_modules/recma-jsx": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz",
+ "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "acorn-jsx": "^5.0.0",
+ "estree-util-to-js": "^2.0.0",
+ "recma-parse": "^1.0.0",
+ "recma-stringify": "^1.0.0",
+ "unified": "^11.0.0"
},
- "engines": {
- "node": "*"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/redux": {
- "version": "4.2.1",
+ "node_modules/recma-parse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz",
+ "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.9.2"
- }
- },
- "node_modules/redux-thunk": {
- "version": "2.4.2",
- "license": "MIT",
- "peerDependencies": {
- "redux": "^4"
+ "@types/estree": "^1.0.0",
+ "esast-util-from-js": "^2.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.10",
+ "node_modules/recma-stringify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz",
+ "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.1",
- "which-builtin-type": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
+ "@types/estree": "^1.0.0",
+ "estree-util-to-js": "^2.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
"node_modules/regenerate": {
@@ -14963,38 +15481,6 @@
"node": ">=4"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "license": "MIT"
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.4",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "set-function-name": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regexpp": {
- "version": "3.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
"node_modules/regexpu-core": {
"version": "6.2.0",
"license": "MIT",
@@ -15037,33 +15523,111 @@
"version": "0.8.0",
"license": "MIT"
},
- "node_modules/regjsparser": {
- "version": "0.12.0",
- "license": "BSD-2-Clause",
+ "node_modules/regjsparser": {
+ "version": "0.12.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "jsesc": "~3.0.2"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "3.0.2",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/rehype-raw": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
+ "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "hast-util-raw": "^9.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rehype-recma": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz",
+ "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "hast-util-to-estree": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/remark-directive": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz",
+ "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==",
+ "license": "MIT",
"dependencies": {
- "jsesc": "~3.0.2"
+ "@types/mdast": "^4.0.0",
+ "mdast-util-directive": "^3.0.0",
+ "micromark-extension-directive": "^3.0.0",
+ "unified": "^11.0.0"
},
- "bin": {
- "regjsparser": "bin/parser"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "3.0.2",
+ "node_modules/remark-emoji": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz",
+ "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==",
"license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
+ "dependencies": {
+ "@types/mdast": "^4.0.2",
+ "emoticon": "^4.0.1",
+ "mdast-util-find-and-replace": "^3.0.1",
+ "node-emoji": "^2.1.0",
+ "unified": "^11.0.4"
},
"engines": {
- "node": ">=6"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
- "node_modules/relay-runtime": {
- "version": "12.0.0",
+ "node_modules/remark-frontmatter": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz",
+ "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.0.0",
- "fbjs": "^3.0.0",
- "invariant": "^2.2.4"
+ "@types/mdast": "^4.0.0",
+ "mdast-util-frontmatter": "^2.0.0",
+ "micromark-extension-frontmatter": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
"node_modules/remark-gfm": {
@@ -15084,6 +15648,20 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/remark-mdx": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz",
+ "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==",
+ "license": "MIT",
+ "dependencies": {
+ "mdast-util-mdx": "^3.0.0",
+ "micromark-extension-mdxjs": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/remark-parse": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
@@ -15100,6 +15678,23 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/remark-rehype": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/remark-stringify": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
@@ -15115,43 +15710,13 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remove-trailing-separator": {
- "version": "1.1.0",
- "license": "ISC"
- },
- "node_modules/renderkid": {
- "version": "2.0.7",
- "license": "MIT",
- "dependencies": {
- "css-select": "^4.1.3",
- "dom-converter": "^0.2.0",
- "htmlparser2": "^6.1.0",
- "lodash": "^4.17.21",
- "strip-ansi": "^3.0.1"
- }
- },
- "node_modules/renderkid/node_modules/ansi-regex": {
- "version": "2.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/renderkid/node_modules/strip-ansi": {
- "version": "3.0.1",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.10"
}
},
"node_modules/require-from-string": {
@@ -15161,19 +15726,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/require-main-filename": {
- "version": "2.0.0",
- "license": "ISC"
- },
- "node_modules/require-package-name": {
- "version": "2.0.1",
- "license": "MIT"
+ "node_modules/require-like": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz",
+ "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==",
+ "engines": {
+ "node": "*"
+ }
},
"node_modules/requires-port": {
"version": "1.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.1",
@@ -15194,50 +15757,11 @@
"version": "1.2.1",
"license": "MIT"
},
- "node_modules/resolve-cwd": {
+ "node_modules/resolve-pathname": {
"version": "3.0.0",
- "license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "5.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/responselike": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "lowercase-keys": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/restore-cursor": {
- "version": "3.1.0",
- "license": "MIT",
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/retry": {
- "version": "0.12.0",
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
+ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
+ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==",
+ "license": "MIT"
},
"node_modules/reusify": {
"version": "1.0.4",
@@ -15247,24 +15771,34 @@
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "license": "ISC",
+ "node_modules/rtlcss": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz",
+ "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==",
+ "license": "MIT",
"dependencies": {
- "glob": "^7.1.3"
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.21",
+ "strip-json-comments": "^3.1.1"
},
"bin": {
- "rimraf": "bin.js"
+ "rtlcss": "bin/rtlcss.js"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "engines": {
+ "node": ">=12.0.0"
}
},
- "node_modules/run-async": {
- "version": "2.4.1",
+ "node_modules/run-applescript": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
+ "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
"license": "MIT",
"engines": {
- "node": ">=0.12.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/run-parallel": {
@@ -15288,37 +15822,6 @@
"queue-microtask": "^1.2.2"
}
},
- "node_modules/rxjs": {
- "version": "6.6.7",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^1.9.0"
- },
- "engines": {
- "npm": ">=2.0.0"
- }
- },
- "node_modules/safe-array-concat": {
- "version": "1.1.3",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
- "has-symbols": "^1.1.0",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">=0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-array-concat/node_modules/isarray": {
- "version": "2.0.5",
- "license": "MIT"
- },
"node_modules/safe-buffer": {
"version": "5.2.1",
"funding": [
@@ -15337,50 +15840,27 @@
],
"license": "MIT"
},
- "node_modules/safe-push-apply": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-push-apply/node_modules/isarray": {
- "version": "2.0.5",
- "license": "MIT"
- },
- "node_modules/safe-regex-test": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "is-regex": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/safer-buffer": {
"version": "2.1.2",
"license": "MIT"
},
+ "node_modules/sax": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz",
+ "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==",
+ "license": "BlueOak-1.0.0"
+ },
"node_modules/scheduler": {
- "version": "0.23.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT"
+ },
+ "node_modules/schema-dts": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.5.tgz",
+ "integrity": "sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==",
+ "license": "Apache-2.0"
},
"node_modules/schema-utils": {
"version": "4.3.2",
@@ -15402,6 +15882,7 @@
"node_modules/schema-utils/node_modules/ajv": {
"version": "8.17.1",
"license": "MIT",
+ "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@@ -15427,17 +15908,33 @@
"version": "1.0.0",
"license": "MIT"
},
- "node_modules/select-hose": {
- "version": "2.0.0",
+ "node_modules/search-insights": {
+ "version": "2.17.3",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz",
+ "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==",
"license": "MIT",
- "optional": true,
"peer": true
},
+ "node_modules/section-matter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/select-hose": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
"node_modules/selfsigned": {
"version": "2.4.1",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"@types/node-forge": "^1.3.0",
"node-forge": "^1"
@@ -15456,6 +15953,21 @@
"node": ">=10"
}
},
+ "node_modules/semver-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz",
+ "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==",
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/send": {
"version": "0.19.0",
"license": "MIT",
@@ -15506,31 +16018,78 @@
"node": ">=4"
}
},
- "node_modules/sentence-case": {
- "version": "3.0.4",
+ "node_modules/serve-handler": {
+ "version": "6.1.6",
+ "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz",
+ "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==",
"license": "MIT",
"dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
+ "bytes": "3.0.0",
+ "content-disposition": "0.5.2",
+ "mime-types": "2.1.18",
+ "minimatch": "3.1.2",
+ "path-is-inside": "1.0.2",
+ "path-to-regexp": "3.3.0",
+ "range-parser": "1.2.0"
+ }
+ },
+ "node_modules/serve-handler/node_modules/bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve-handler/node_modules/content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-handler/node_modules/mime-db": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-handler/node_modules/mime-types": {
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "~1.33.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "node_modules/sentence-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/serve-handler/node_modules/path-to-regexp": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz",
+ "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==",
+ "license": "MIT"
},
- "node_modules/serialize-javascript": {
- "version": "5.0.1",
- "license": "BSD-3-Clause",
- "dependencies": {
- "randombytes": "^2.1.0"
+ "node_modules/serve-handler/node_modules/range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
"node_modules/serve-index": {
"version": "1.9.1",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"accepts": "~1.3.4",
"batch": "0.6.1",
@@ -15547,8 +16106,6 @@
"node_modules/serve-index/node_modules/debug": {
"version": "2.6.9",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ms": "2.0.0"
}
@@ -15556,8 +16113,6 @@
"node_modules/serve-index/node_modules/depd": {
"version": "1.1.2",
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -15565,8 +16120,6 @@
"node_modules/serve-index/node_modules/http-errors": {
"version": "1.6.3",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.3",
@@ -15579,27 +16132,19 @@
},
"node_modules/serve-index/node_modules/inherits": {
"version": "2.0.3",
- "license": "ISC",
- "optional": true,
- "peer": true
+ "license": "ISC"
},
"node_modules/serve-index/node_modules/ms": {
"version": "2.0.0",
- "license": "MIT",
- "optional": true,
- "peer": true
+ "license": "MIT"
},
"node_modules/serve-index/node_modules/setprototypeof": {
"version": "1.1.0",
- "license": "ISC",
- "optional": true,
- "peer": true
+ "license": "ISC"
},
"node_modules/serve-index/node_modules/statuses": {
"version": "1.5.0",
"license": "MIT",
- "optional": true,
- "peer": true,
"engines": {
"node": ">= 0.6"
}
@@ -15617,10 +16162,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "license": "ISC"
- },
"node_modules/set-function-length": {
"version": "1.2.2",
"license": "MIT",
@@ -15636,35 +16177,6 @@
"node": ">= 0.4"
}
},
- "node_modules/set-function-name": {
- "version": "2.0.2",
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/set-proto": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/setimmediate": {
- "version": "1.0.5",
- "license": "MIT"
- },
"node_modules/setprototypeof": {
"version": "1.2.0",
"license": "ISC"
@@ -15679,59 +16191,12 @@
"node": ">=8"
}
},
- "node_modules/shallow-compare": {
- "version": "1.2.2",
- "license": "MIT"
- },
- "node_modules/sharp": {
- "version": "0.32.6",
- "hasInstallScript": true,
- "license": "Apache-2.0",
- "dependencies": {
- "color": "^4.2.3",
- "detect-libc": "^2.0.2",
- "node-addon-api": "^6.1.0",
- "prebuild-install": "^7.1.1",
- "semver": "^7.5.4",
- "simple-get": "^4.0.1",
- "tar-fs": "^3.0.4",
- "tunnel-agent": "^0.6.0"
- },
- "engines": {
- "node": ">=14.15.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/sharp/node_modules/detect-libc": {
- "version": "2.0.4",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/sharp/node_modules/node-addon-api": {
- "version": "6.1.0",
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
"license": "MIT"
},
- "node_modules/shebang-command": {
- "version": "1.2.0",
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shebang-regex": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/shell-quote": {
"version": "1.8.3",
"license": "MIT",
@@ -15810,62 +16275,6 @@
"version": "3.0.7",
"license": "ISC"
},
- "node_modules/signedsource": {
- "version": "1.0.0",
- "license": "BSD-3-Clause"
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/simple-get": {
- "version": "4.0.1",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
- "node_modules/simple-swizzle/node_modules/is-arrayish": {
- "version": "0.3.2",
- "license": "MIT"
- },
"node_modules/simple-update-notifier": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
@@ -15878,180 +16287,97 @@
"node": ">=10"
}
},
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "license": "MIT"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slugify": {
- "version": "1.6.6",
- "license": "MIT",
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/snake-case": {
- "version": "3.0.4",
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/snake-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/socket.io": {
- "version": "4.7.1",
+ "node_modules/sirv": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
+ "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.4",
- "base64id": "~2.0.0",
- "cors": "~2.8.5",
- "debug": "~4.3.2",
- "engine.io": "~6.5.0",
- "socket.io-adapter": "~2.5.2",
- "socket.io-parser": "~4.2.4"
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
},
"engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-adapter": {
- "version": "2.5.5",
- "license": "MIT",
- "dependencies": {
- "debug": "~4.3.4",
- "ws": "~8.17.1"
+ "node": ">= 10"
}
},
- "node_modules/socket.io-adapter/node_modules/debug": {
- "version": "4.3.7",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "license": "MIT"
},
- "node_modules/socket.io-client": {
- "version": "4.7.1",
+ "node_modules/sitemap": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz",
+ "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==",
"license": "MIT",
"dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.2",
- "engine.io-client": "~6.5.1",
- "socket.io-parser": "~4.2.4"
+ "@types/node": "^17.0.5",
+ "@types/sax": "^1.2.1",
+ "arg": "^5.0.0",
+ "sax": "^1.2.4"
},
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/socket.io-client/node_modules/debug": {
- "version": "4.3.7",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
+ "bin": {
+ "sitemap": "dist/cli.js"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=12.0.0",
+ "npm": ">=5.6.0"
}
},
- "node_modules/socket.io-parser": {
- "version": "4.2.4",
- "license": "MIT",
- "dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.3.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
+ "node_modules/sitemap/node_modules/@types/node": {
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
+ "license": "MIT"
},
- "node_modules/socket.io-parser/node_modules/debug": {
- "version": "4.3.7",
+ "node_modules/skin-tone": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
+ "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "unicode-emoji-modifier-base": "^1.0.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/socket.io/node_modules/debug": {
- "version": "4.3.7",
+ "node_modules/slash": {
+ "version": "3.0.0",
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/snake-case": {
+ "version": "3.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
}
},
+ "node_modules/snake-case/node_modules/tslib": {
+ "version": "2.8.1",
+ "license": "0BSD"
+ },
"node_modules/sockjs": {
"version": "0.3.24",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"faye-websocket": "^0.11.3",
"uuid": "^8.3.2",
"websocket-driver": "^0.7.4"
}
},
- "node_modules/source-list-map": {
- "version": "2.0.1",
- "license": "MIT"
+ "node_modules/sort-css-media-queries": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz",
+ "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.3.0"
+ }
},
"node_modules/source-map": {
"version": "0.7.4",
@@ -16082,11 +16408,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/spdy": {
"version": "4.0.2",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"debug": "^4.1.0",
"handle-thing": "^2.0.0",
@@ -16101,8 +16435,6 @@
"node_modules/spdy-transport": {
"version": "3.0.0",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"debug": "^4.1.0",
"detect-node": "^2.0.4",
@@ -16115,8 +16447,6 @@
"node_modules/spdy-transport/node_modules/debug": {
"version": "4.4.1",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -16132,8 +16462,6 @@
"node_modules/spdy-transport/node_modules/readable-stream": {
"version": "3.6.2",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -16146,8 +16474,6 @@
"node_modules/spdy/node_modules/debug": {
"version": "4.4.1",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -16160,43 +16486,22 @@
}
}
},
- "node_modules/split-on-first": {
- "version": "1.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/sponge-case": {
- "version": "1.0.1",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/sponge-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
"node_modules/sprintf-js": {
"version": "1.0.3",
"license": "BSD-3-Clause"
},
- "node_modules/stable": {
- "version": "0.1.8",
- "license": "MIT"
- },
- "node_modules/stack-trace": {
- "version": "0.0.10",
+ "node_modules/srcset": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz",
+ "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==",
"license": "MIT",
"engines": {
- "node": "*"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/stackframe": {
- "version": "1.3.4",
- "license": "MIT"
- },
"node_modules/statuses": {
"version": "2.0.1",
"license": "MIT",
@@ -16204,29 +16509,11 @@
"node": ">= 0.8"
}
},
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/streamx": {
- "version": "2.22.0",
- "license": "MIT",
- "dependencies": {
- "fast-fifo": "^1.3.2",
- "text-decoder": "^1.1.0"
- },
- "optionalDependencies": {
- "bare-events": "^2.2.0"
- }
- },
- "node_modules/strict-uri-encode": {
- "version": "2.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
+ "node_modules/std-env": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
+ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
+ "license": "MIT"
},
"node_modules/string_decoder": {
"version": "1.1.1",
@@ -16239,21 +16526,6 @@
"version": "5.1.2",
"license": "MIT"
},
- "node_modules/string-natural-compare": {
- "version": "3.0.1",
- "license": "MIT"
- },
- "node_modules/string-similarity": {
- "version": "1.2.2",
- "license": "ISC",
- "dependencies": {
- "lodash.every": "^4.6.0",
- "lodash.flattendeep": "^4.4.0",
- "lodash.foreach": "^4.5.0",
- "lodash.map": "^4.6.0",
- "lodash.maxby": "^4.6.0"
- }
- },
"node_modules/string-width": {
"version": "4.2.3",
"license": "MIT",
@@ -16277,99 +16549,41 @@
"node": ">=8"
}
},
- "node_modules/string.prototype.includes": {
- "version": "2.0.1",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.3"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/string.prototype.matchall": {
- "version": "4.0.12",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.6",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.6",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "internal-slot": "^1.1.0",
- "regexp.prototype.flags": "^1.5.3",
- "set-function-name": "^2.0.2",
- "side-channel": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.repeat": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.10",
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-data-property": "^1.1.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-object-atoms": "^1.0.0",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/string.prototype.trimend": {
- "version": "1.0.9",
- "license": "MIT",
+ "node_modules/stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=4"
}
},
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.8",
+ "node_modules/stringify-object/node_modules/is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
"license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=0.10.0"
}
},
"node_modules/strip-ansi": {
@@ -16382,11 +16596,13 @@
"node": ">=8"
}
},
- "node_modules/strip-bom": {
- "version": "3.0.0",
+ "node_modules/strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=0.10.0"
}
},
"node_modules/strip-final-newline": {
@@ -16406,198 +16622,74 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/strtok3": {
- "version": "6.3.0",
- "license": "MIT",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "peek-readable": "^4.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- }
- },
- "node_modules/style-loader": {
- "version": "2.0.0",
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/style-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/style-to-object": {
- "version": "0.4.4",
- "license": "MIT",
- "dependencies": {
- "inline-style-parser": "0.1.1"
- }
- },
- "node_modules/stylehacks": {
- "version": "5.1.0",
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.16.6",
- "postcss-selector-parser": "^6.0.4"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/sudo-prompt": {
- "version": "8.2.5",
- "license": "MIT"
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/svgo": {
- "version": "2.8.0",
- "license": "MIT",
- "dependencies": {
- "@trysound/sax": "0.2.0",
- "commander": "^7.2.0",
- "css-select": "^4.1.3",
- "css-tree": "^1.1.3",
- "csso": "^4.2.0",
- "picocolors": "^1.0.0",
- "stable": "^0.1.8"
- },
- "bin": {
- "svgo": "bin/svgo"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/swap-case": {
- "version": "2.0.2",
+ "node_modules/style-to-js": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
+ "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.0.3"
+ "style-to-object": "1.0.14"
}
},
- "node_modules/swap-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/style-to-js/node_modules/inline-style-parser": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
+ "license": "MIT"
},
- "node_modules/system-architecture": {
- "version": "0.1.0",
+ "node_modules/style-to-js/node_modules/style-to-object": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "inline-style-parser": "0.2.7"
}
},
- "node_modules/table": {
- "version": "6.8.0",
- "license": "BSD-3-Clause",
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
"dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=8"
}
},
- "node_modules/table/node_modules/ajv": {
- "version": "8.11.0",
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
+ "node_modules/svg-parser": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
+ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==",
"license": "MIT"
},
- "node_modules/tapable": {
- "version": "2.2.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-fs": {
- "version": "3.0.9",
+ "node_modules/swr": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.7.tgz",
+ "integrity": "sha512-ZEquQ82QvalqTxhBVv/DlAg2mbmUjF4UgpPg9wwk4ufb9rQnZXh1iKyyKBqV6bQGu1Ie7L1QwSYO07qFIa1p+g==",
"license": "MIT",
"dependencies": {
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
+ "dequal": "^2.0.3",
+ "use-sync-external-store": "^1.4.0"
},
- "optionalDependencies": {
- "bare-fs": "^4.0.1",
- "bare-path": "^3.0.0"
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
- "node_modules/tar-stream": {
- "version": "3.1.7",
+ "node_modules/tapable": {
+ "version": "2.2.1",
"license": "MIT",
- "dependencies": {
- "b4a": "^1.6.4",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/terser": {
@@ -16694,51 +16786,41 @@
"version": "2.20.3",
"license": "MIT"
},
- "node_modules/text-decoder": {
- "version": "1.2.3",
- "license": "Apache-2.0",
- "dependencies": {
- "b4a": "^1.6.4"
+ "node_modules/throttleit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz",
+ "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/text-table": {
- "version": "0.2.0",
- "license": "MIT"
- },
- "node_modules/through": {
- "version": "2.3.8",
- "license": "MIT"
- },
"node_modules/thunky": {
"version": "1.1.0",
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/timers-ext": {
- "version": "0.1.7",
- "license": "ISC",
- "dependencies": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
- }
+ "license": "MIT"
},
- "node_modules/title-case": {
- "version": "3.0.3",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+ "license": "MIT"
},
- "node_modules/title-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
+ "license": "MIT"
},
- "node_modules/tmp": {
- "version": "0.2.3",
+ "node_modules/tinypool": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
"license": "MIT",
"engines": {
- "node": ">=14.14"
+ "node": "^18.0.0 || >=20.0.0"
}
},
"node_modules/to-regex-range": {
@@ -16758,19 +16840,13 @@
"node": ">=0.6"
}
},
- "node_modules/token-types": {
- "version": "4.2.1",
+ "node_modules/totalist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
"license": "MIT",
- "dependencies": {
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
- },
"engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
+ "node": ">=6"
}
},
"node_modules/touch": {
@@ -16786,89 +16862,24 @@
"version": "0.0.3",
"license": "MIT"
},
- "node_modules/trough": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
- "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/true-case-path": {
- "version": "2.2.1",
- "license": "Apache-2.0"
- },
- "node_modules/tsconfig-paths": {
- "version": "3.15.0",
- "license": "MIT",
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tslib": {
- "version": "1.14.1",
- "license": "0BSD"
- },
- "node_modules/tsutils": {
- "version": "3.21.0",
- "license": "MIT",
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "license": "Apache-2.0",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/type": {
- "version": "1.2.0",
- "license": "ISC"
- },
- "node_modules/type-check": {
- "version": "0.4.0",
+ "node_modules/trough": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
+ "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
"license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/type-is": {
@@ -16882,143 +16893,23 @@
"node": ">= 0.6"
}
},
- "node_modules/type-of": {
- "version": "2.0.1",
- "license": "MIT"
- },
- "node_modules/typed-array-buffer": {
- "version": "1.0.3",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/typed-array-byte-length": {
- "version": "1.0.3",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.4",
- "license": "MIT",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.15",
- "reflect.getprototypeof": "^1.0.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.7",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0",
- "reflect.getprototypeof": "^1.0.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typedarray": {
- "version": "0.0.6",
- "license": "MIT"
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "license": "MIT",
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typescript": {
- "version": "5.6.3",
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/ua-parser-js": {
- "version": "1.0.40",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/ua-parser-js"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/faisalman"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/faisalman"
- }
- ],
- "license": "MIT",
- "bin": {
- "ua-parser-js": "script/cli.js"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.1.0",
- "which-boxed-primitive": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/unc-path-regex": {
- "version": "0.1.2",
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
"license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.6.3",
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14.17"
}
},
"node_modules/undefsafe": {
@@ -17034,6 +16925,15 @@
"node": ">=4"
}
},
+ "node_modules/unicode-emoji-modifier-base": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
+ "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/unicode-match-property-ecmascript": {
"version": "2.0.0",
"license": "MIT",
@@ -17078,20 +16978,36 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unique-string": {
- "version": "2.0.0",
+ "node_modules/unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
"license": "MIT",
"dependencies": {
- "crypto-random-string": "^2.0.0"
+ "@types/unist": "^3.0.0"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/unist-util-is": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
- "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "node_modules/unist-util-position": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position-from-estree": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz",
+ "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==",
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
@@ -17150,26 +17066,6 @@
"node": ">= 10.0.0"
}
},
- "node_modules/unixify": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "normalize-path": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unixify/node_modules/normalize-path": {
- "version": "2.1.1",
- "license": "MIT",
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"license": "MIT",
@@ -17178,7 +17074,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.1.3",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
+ "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
"funding": [
{
"type": "opencollective",
@@ -17205,28 +17103,307 @@
"browserslist": ">= 4.21.0"
}
},
- "node_modules/upper-case": {
- "version": "2.0.2",
+ "node_modules/update-notifier": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz",
+ "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boxen": "^7.0.0",
+ "chalk": "^5.0.1",
+ "configstore": "^6.0.0",
+ "has-yarn": "^3.0.0",
+ "import-lazy": "^4.0.0",
+ "is-ci": "^3.0.1",
+ "is-installed-globally": "^0.4.0",
+ "is-npm": "^6.0.0",
+ "is-yarn-global": "^0.4.0",
+ "latest-version": "^7.0.0",
+ "pupa": "^3.1.0",
+ "semver": "^7.3.7",
+ "semver-diff": "^4.0.0",
+ "xdg-basedir": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/update-notifier?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/boxen": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz",
+ "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.0.3"
+ "ansi-align": "^3.0.1",
+ "camelcase": "^7.0.1",
+ "chalk": "^5.2.0",
+ "cli-boxes": "^3.0.0",
+ "string-width": "^5.1.2",
+ "type-fest": "^2.13.0",
+ "widest-line": "^4.0.1",
+ "wrap-ansi": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/upper-case-first": {
- "version": "2.0.2",
+ "node_modules/update-notifier/node_modules/camelcase": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz",
+ "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/chalk": {
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/update-notifier/node_modules/cli-boxes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz",
+ "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==",
"license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/configstore": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz",
+ "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==",
+ "license": "BSD-2-Clause",
"dependencies": {
- "tslib": "^2.0.3"
+ "dot-prop": "^6.0.1",
+ "graceful-fs": "^4.2.6",
+ "unique-string": "^3.0.0",
+ "write-file-atomic": "^3.0.3",
+ "xdg-basedir": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/configstore?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/crypto-random-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz",
+ "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/crypto-random-string/node_modules/type-fest": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+ "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/dot-prop": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
+ "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/update-notifier/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/unique-string": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz",
+ "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "crypto-random-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/widest-line": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
+ "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==",
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-notifier/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/update-notifier/node_modules/xdg-basedir": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz",
+ "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/upper-case-first/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
- "node_modules/upper-case/node_modules/tslib": {
- "version": "2.8.1",
- "license": "0BSD"
- },
"node_modules/uri-js": {
"version": "4.4.1",
"license": "BSD-2-Clause",
@@ -17275,6 +17452,15 @@
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"license": "MIT"
@@ -17304,10 +17490,6 @@
"uuid": "dist/bin/uuid"
}
},
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "license": "MIT"
- },
"node_modules/validate.io-array": {
"version": "1.0.6",
"license": "MIT"
@@ -17331,12 +17513,11 @@
"node_modules/validate.io-number": {
"version": "1.0.3"
},
- "node_modules/value-or-promise": {
- "version": "1.0.12",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- }
+ "node_modules/value-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
+ "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==",
+ "license": "MIT"
},
"node_modules/vary": {
"version": "1.1.2",
@@ -17359,6 +17540,20 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/vfile-location": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz",
+ "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/vfile-message": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
@@ -17387,15 +17582,19 @@
"node_modules/wbuf": {
"version": "1.7.3",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
"minimalistic-assert": "^1.0.0"
}
},
- "node_modules/weak-lru-cache": {
- "version": "1.2.2",
- "license": "MIT"
+ "node_modules/web-namespaces": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
+ "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
@@ -17404,6 +17603,7 @@
"node_modules/webpack": {
"version": "5.98.0",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@types/eslint-scope": "^3.7.7",
"@types/estree": "^1.0.6",
@@ -17445,76 +17645,112 @@
}
}
},
- "node_modules/webpack-dev-middleware": {
- "version": "5.3.4",
+ "node_modules/webpack-bundle-analyzer": {
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz",
+ "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==",
"license": "MIT",
"dependencies": {
- "colorette": "^2.0.10",
- "memfs": "^3.4.3",
- "mime-types": "^2.1.31",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
+ "@discoveryjs/json-ext": "0.5.7",
+ "acorn": "^8.0.4",
+ "acorn-walk": "^8.0.0",
+ "commander": "^7.2.0",
+ "debounce": "^1.2.1",
+ "escape-string-regexp": "^4.0.0",
+ "gzip-size": "^6.0.0",
+ "html-escaper": "^2.0.2",
+ "opener": "^1.5.2",
+ "picocolors": "^1.0.0",
+ "sirv": "^2.0.3",
+ "ws": "^7.3.1"
+ },
+ "bin": {
+ "webpack-bundle-analyzer": "lib/bin/analyzer.js"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/webpack-bundle-analyzer/node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/webpack-bundle-analyzer/node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
"node_modules/webpack-dev-server": {
- "version": "4.15.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/express": "^4.17.13",
- "@types/serve-index": "^1.9.1",
- "@types/serve-static": "^1.13.10",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.5",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz",
+ "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/bonjour": "^3.5.13",
+ "@types/connect-history-api-fallback": "^1.5.4",
+ "@types/express": "^4.17.21",
+ "@types/express-serve-static-core": "^4.17.21",
+ "@types/serve-index": "^1.9.4",
+ "@types/serve-static": "^1.15.5",
+ "@types/sockjs": "^0.3.36",
+ "@types/ws": "^8.5.10",
"ansi-html-community": "^0.0.8",
- "bonjour-service": "^1.0.11",
- "chokidar": "^3.5.3",
+ "bonjour-service": "^1.2.1",
+ "chokidar": "^3.6.0",
"colorette": "^2.0.10",
"compression": "^1.7.4",
"connect-history-api-fallback": "^2.0.0",
- "default-gateway": "^6.0.3",
- "express": "^4.17.3",
+ "express": "^4.21.2",
"graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.3",
- "ipaddr.js": "^2.0.1",
- "launch-editor": "^2.6.0",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "rimraf": "^3.0.2",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.1.1",
+ "http-proxy-middleware": "^2.0.9",
+ "ipaddr.js": "^2.1.0",
+ "launch-editor": "^2.6.1",
+ "open": "^10.0.3",
+ "p-retry": "^6.2.0",
+ "schema-utils": "^4.2.0",
+ "selfsigned": "^2.4.1",
"serve-index": "^1.9.1",
"sockjs": "^0.3.24",
"spdy": "^4.0.2",
- "webpack-dev-middleware": "^5.3.4",
- "ws": "^8.13.0"
+ "webpack-dev-middleware": "^7.4.2",
+ "ws": "^8.18.0"
},
"bin": {
"webpack-dev-server": "bin/webpack-dev-server.js"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "^4.37.0 || ^5.0.0"
+ "webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"webpack": {
@@ -17525,270 +17761,300 @@
}
}
},
- "node_modules/webpack-dev-server/node_modules/ipaddr.js": {
- "version": "2.2.0",
- "license": "MIT",
- "optional": true,
- "peer": true,
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">= 10"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/webpack-dev-server/node_modules/open": {
- "version": "8.4.2",
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/buffers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
+ "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=12"
+ "node": ">=10.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webpack-merge": {
- "version": "5.10.0",
- "license": "MIT",
- "dependencies": {
- "clone-deep": "^4.0.1",
- "flat": "^5.0.2",
- "wildcard": "^2.0.0"
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
},
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/webpack-sources": {
- "version": "1.4.3",
- "license": "MIT",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/webpack-sources/node_modules/source-map": {
- "version": "0.6.1",
- "license": "BSD-3-Clause",
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/codegen": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz",
+ "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/webpack-stats-plugin": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/webpack-virtual-modules": {
- "version": "0.5.0",
- "license": "MIT"
- },
- "node_modules/webpack/node_modules/acorn": {
- "version": "8.14.1",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "node": ">=10.0"
},
- "engines": {
- "node": ">=0.4.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/webpack/node_modules/graceful-fs": {
- "version": "4.2.11",
- "license": "ISC"
- },
- "node_modules/webpack/node_modules/webpack-sources": {
- "version": "3.2.3",
- "license": "MIT",
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/json-pack": {
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz",
+ "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/base64": "^1.1.2",
+ "@jsonjoy.com/buffers": "^1.2.0",
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/json-pointer": "^1.0.2",
+ "@jsonjoy.com/util": "^1.9.0",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.1.0"
+ },
"engines": {
- "node": ">=10.13.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/websocket-driver": {
- "version": "0.7.4",
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/json-pointer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz",
+ "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==",
"license": "Apache-2.0",
- "optional": true,
- "peer": true,
"dependencies": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/util": "^1.9.0"
},
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/websocket-extensions": {
- "version": "0.1.4",
+ "node_modules/webpack-dev-server/node_modules/@jsonjoy.com/util": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz",
+ "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==",
"license": "Apache-2.0",
- "optional": true,
- "peer": true,
+ "dependencies": {
+ "@jsonjoy.com/buffers": "^1.0.0",
+ "@jsonjoy.com/codegen": "^1.0.0"
+ },
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/whatwg-fetch": {
- "version": "3.6.2",
- "license": "MIT"
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
+ "node_modules/webpack-dev-server/node_modules/@types/express-serve-static-core": {
+ "version": "4.19.7",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz",
+ "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==",
"license": "MIT",
"dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
}
},
- "node_modules/which": {
- "version": "1.3.1",
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
+ "node_modules/webpack-dev-server/node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
},
- "bin": {
- "which": "bin/which"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/which-boxed-primitive": {
- "version": "1.1.1",
- "license": "MIT",
- "dependencies": {
- "is-bigint": "^1.1.0",
- "is-boolean-object": "^1.2.1",
- "is-number-object": "^1.1.1",
- "is-string": "^1.1.1",
- "is-symbol": "^1.1.1"
- },
+ "node_modules/webpack-dev-server/node_modules/glob-to-regex.js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz",
+ "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">= 0.4"
+ "node": ">=10.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/which-builtin-type": {
- "version": "1.2.1",
+ "node_modules/webpack-dev-server/node_modules/ipaddr.js": {
+ "version": "2.2.0",
"license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "function.prototype.name": "^1.1.6",
- "has-tostringtag": "^1.0.2",
- "is-async-function": "^2.0.0",
- "is-date-object": "^1.1.0",
- "is-finalizationregistry": "^1.1.0",
- "is-generator-function": "^1.0.10",
- "is-regex": "^1.2.1",
- "is-weakref": "^1.0.2",
- "isarray": "^2.0.5",
- "which-boxed-primitive": "^1.1.0",
- "which-collection": "^1.0.2",
- "which-typed-array": "^1.1.16"
- },
"engines": {
- "node": ">= 0.4"
+ "node": ">= 10"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/memfs": {
+ "version": "4.51.1",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.1.tgz",
+ "integrity": "sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/json-pack": "^1.11.0",
+ "@jsonjoy.com/util": "^1.9.0",
+ "glob-to-regex.js": "^1.0.1",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.0.3",
+ "tslib": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
}
},
- "node_modules/which-builtin-type/node_modules/isarray": {
- "version": "2.0.5",
- "license": "MIT"
+ "node_modules/webpack-dev-server/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "node_modules/which-collection": {
- "version": "1.0.2",
+ "node_modules/webpack-dev-server/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
- "is-map": "^2.0.3",
- "is-set": "^2.0.3",
- "is-weakmap": "^2.0.2",
- "is-weakset": "^2.0.3"
+ "mime-db": "^1.54.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/which-module": {
- "version": "2.0.1",
- "license": "ISC"
- },
- "node_modules/which-typed-array": {
- "version": "1.1.19",
+ "node_modules/webpack-dev-server/node_modules/open": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
+ "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
"license": "MIT",
"dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "for-each": "^0.3.5",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.0.2"
+ "default-browser": "^5.2.1",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "wsl-utils": "^0.1.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/widest-line": {
- "version": "3.1.0",
+ "node_modules/webpack-dev-server/node_modules/thingies": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz",
+ "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==",
"license": "MIT",
- "dependencies": {
- "string-width": "^4.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=10.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "^2"
}
},
- "node_modules/wildcard": {
- "version": "2.0.1",
- "license": "MIT"
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "license": "MIT",
+ "node_modules/webpack-dev-server/node_modules/tree-dump": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
+ "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
+ "node_modules/webpack-dev-server/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD",
+ "peer": true
+ },
+ "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz",
+ "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "colorette": "^2.0.10",
+ "memfs": "^4.43.1",
+ "mime-types": "^3.0.1",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "schema-utils": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">= 18.12.0"
},
"funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "license": "ISC"
- },
- "node_modules/write-file-atomic": {
- "version": "3.0.3",
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack": {
+ "optional": true
+ }
}
},
- "node_modules/ws": {
- "version": "8.17.1",
+ "node_modules/webpack-dev-server/node_modules/ws": {
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -17806,229 +18072,194 @@
}
}
},
- "node_modules/xdg-basedir": {
- "version": "4.0.0",
+ "node_modules/webpack-merge": {
+ "version": "5.10.0",
"license": "MIT",
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
+ "wildcard": "^2.0.0"
+ },
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/xmlhttprequest-ssl": {
- "version": "2.0.0",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/xstate": {
- "version": "4.38.3",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/xstate"
+ "node": ">=10.0.0"
}
},
- "node_modules/xtend": {
- "version": "4.0.2",
+ "node_modules/webpack/node_modules/acorn": {
+ "version": "8.14.1",
"license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
"engines": {
- "node": ">=0.4"
+ "node": ">=0.4.0"
}
},
- "node_modules/xxhash-wasm": {
- "version": "0.4.2",
- "license": "MIT"
- },
- "node_modules/y18n": {
- "version": "4.0.3",
- "license": "ISC"
- },
- "node_modules/yallist": {
- "version": "2.1.2",
+ "node_modules/webpack/node_modules/graceful-fs": {
+ "version": "4.2.11",
"license": "ISC"
},
- "node_modules/yaml": {
- "version": "1.10.2",
- "license": "ISC",
+ "node_modules/webpack/node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "license": "MIT",
"engines": {
- "node": ">= 6"
+ "node": ">=10.13.0"
}
},
- "node_modules/yaml-loader": {
- "version": "0.8.1",
+ "node_modules/webpackbar": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz",
+ "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==",
"license": "MIT",
"dependencies": {
- "javascript-stringify": "^2.0.1",
- "loader-utils": "^2.0.0",
- "yaml": "^2.0.0"
+ "ansi-escapes": "^4.3.2",
+ "chalk": "^4.1.2",
+ "consola": "^3.2.3",
+ "figures": "^3.2.0",
+ "markdown-table": "^2.0.0",
+ "pretty-time": "^1.1.0",
+ "std-env": "^3.7.0",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/yaml-loader/node_modules/yaml": {
- "version": "2.8.0",
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
+ "node": ">=14.21.3"
},
- "engines": {
- "node": ">= 14.6"
+ "peerDependencies": {
+ "webpack": "3 || 4 || 5"
}
},
- "node_modules/yargs": {
- "version": "15.4.1",
+ "node_modules/webpackbar/node_modules/markdown-table": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
+ "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
"license": "MIT",
"dependencies": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
+ "repeat-string": "^1.0.0"
},
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/yargs-parser": {
- "version": "18.1.3",
- "license": "ISC",
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "license": "Apache-2.0",
"dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
},
"engines": {
- "node": ">=6"
+ "node": ">=0.8.0"
}
},
- "node_modules/yargs-parser/node_modules/camelcase": {
- "version": "5.3.1",
- "license": "MIT",
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=6"
+ "node": ">=0.8.0"
}
},
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.2",
+ "license": "MIT"
},
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.2",
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
}
},
- "node_modules/yoga-layout-prebuilt": {
- "version": "1.10.0",
+ "node_modules/wildcard": {
+ "version": "2.0.1",
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
"license": "MIT",
"dependencies": {
- "@types/yoga-layout": "1.9.2"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/yurnalist": {
- "version": "2.1.0",
- "license": "BSD-2-Clause",
- "dependencies": {
- "chalk": "^2.4.2",
- "inquirer": "^7.0.0",
- "is-ci": "^2.0.0",
- "read": "^1.0.7",
- "strip-ansi": "^5.2.0"
+ "node": ">=10"
},
- "engines": {
- "node": ">=4.0.0"
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/yurnalist/node_modules/ansi-regex": {
- "version": "4.1.1",
- "license": "MIT",
- "engines": {
- "node": ">=6"
+ "node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
}
},
- "node_modules/yurnalist/node_modules/ansi-styles": {
- "version": "3.2.1",
+ "node_modules/wsl-utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
+ "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
"license": "MIT",
"dependencies": {
- "color-convert": "^1.9.0"
+ "is-wsl": "^3.1.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/yurnalist/node_modules/chalk": {
- "version": "2.4.2",
+ "node_modules/wsl-utils/node_modules/is-wsl": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+ "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "is-inside-container": "^1.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/yurnalist/node_modules/color-convert": {
- "version": "1.9.3",
+ "node_modules/xml-js": {
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
+ "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
"license": "MIT",
"dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/yurnalist/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/yurnalist/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "xml-js": "bin/cli.js"
}
},
- "node_modules/yurnalist/node_modules/has-flag": {
- "version": "3.0.0",
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.2",
"license": "MIT",
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/yurnalist/node_modules/strip-ansi": {
- "version": "5.2.0",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^4.1.0"
+ "node": ">=18"
},
- "engines": {
- "node": ">=6"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/yurnalist/node_modules/supports-color": {
- "version": "5.5.0",
+ "node_modules/zod": {
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz",
+ "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
"license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/zwitch": {
diff --git a/package.json b/package.json
index a7fa1934f..7b72a9396 100644
--- a/package.json
+++ b/package.json
@@ -7,16 +7,17 @@
"build": "npm run build:spec && npm run build:docs && npm run build:test",
"build:spec": "node scripts/build.js",
"build:test": "which go > /dev/null 2>&1 || (echo 'Error: Go binary not found. Please install Go first.' && exit 1) && go install github.com/lightclient/rpctestgen/cmd/speccheck@latest",
- "build:docs": "npm run generate-clients && npm run build:docs:gatsby",
- "build:docs:gatsby": "cp README.md docs/reference/quickstart.md && cd build/docs/gatsby && npm install && gatsby build --prefix-paths",
+ "build:docs": "npm run build:spec && npm run build:docusaurus",
"lint": "node scripts/build.js && node scripts/validate.js && node scripts/graphql-validate.js",
"clean": "rm -rf build && mkdir -p build",
- "generate-clients": "mkdir -p build && open-rpc-generator generate -c open-rpc-generator-config.json",
"graphql:schema": "node scripts/graphql.js",
"graphql:validate": "node scripts/graphql-validate.js",
- "serve": "cd build/docs/gatsby && gatsby develop",
"test": "speccheck -v",
- "watch": "nodemon --watch src --watch docs --watch README.md --ignore docs/reference/quickstart.md --ext yaml,md,json --exec \"npm run build && cp ./openrpc.json build/docs/gatsby/src/openrpc.json && cp README.md docs/reference/quickstart.md && npm run serve\""
+ "watch": "nodemon --watch src --watch docs --watch README.md --ignore docs/reference/quickstart.md --ext yaml,md,json --exec \"npm run build && cp ./openrpc.json build/docs/gatsby/src/openrpc.json && cp README.md docs/reference/quickstart.md && npm run serve\"",
+ "start": "docusaurus start",
+ "build:docusaurus": "docusaurus build",
+ "serve": "docusaurus serve",
+ "clear": "docusaurus clear"
},
"repository": {
"type": "git",
@@ -27,19 +28,24 @@
"bugs": {
"url": "https://github.com/ethereum/execution-apis/issues"
},
- "type": "module",
"homepage": "https://github.com/ethereum/execution-apis#readme",
"dependencies": {
- "@mdx-js/react": "~3.0.0",
+ "@docusaurus/core": "^3.9.2",
+ "@docusaurus/preset-classic": "^3.9.2",
"@graphql-inspector/core": "~3.3.0",
+ "@mdx-js/react": "^3.0.0",
"@open-rpc/generator": "^2.1.0",
"@open-rpc/schema-utils-js": "^2.1.2",
- "gatsby": "^5.14.3",
+ "@open-rpc/docusaurus-plugin": "0.1.0",
+ "clsx": "^2.1.1",
"graphql": "~16.3.0",
"graphql-request": "~4.1.0",
"js-yaml": "~4.1.0",
"json-schema-merge-allof": "~0.8.1",
"nodemon": "^3.0.0",
+ "prism-react-renderer": "^2.4.1",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
"remark-gfm": "~4.0.1",
"typescript": "~5.6.2"
}